如何移除R语言绘制的时间序列图表中遮挡视图的年份文本?
解决方法
你遇到的问题是两次调用plot()时都绘制了x轴的年份标签,叠加后造成遮挡。下面是两种简单的解决方式:
方式一:第二次绘图时取消x轴绘制
修改第二次plot()的代码,加上xaxt="n"参数,禁止绘制x轴的刻度和标签,这样就不会重复出现年份文本:
data('fertil3') fertil = ts(fertil3, frequency = 1, start = 1913) # 第一次绘图,正常显示x轴(如果完全不需要年份标签,也可以在这里加xaxt="n") plot(x = fertil[,"year"], y = fertil[,"gfr"], type="l", col="red", ylim = c(0, 250), xlab="Time", ylab="") par(new=TRUE) # 第二次绘图,取消x轴绘制 plot(x = fertil[,"year"], y = fertil[,"pe_1"], type="l", col="blue", ylim = c(0, 250), xlab="Time", ylab="", xaxt="n")
方式二:用lines()替代第二次plot()
更规范的做法是先画第一个序列,再用lines()添加第二个序列,这样只会生成一次x轴,从根源避免重复遮挡:
data('fertil3') fertil = ts(fertil3, frequency = 1, start = 1913) # 先绘制第一个时间序列 plot(x = fertil[,"year"], y = fertil[,"gfr"], type="l", col="red", ylim = c(0, 250), xlab="Time", ylab="") # 用lines添加第二个序列,不用重复设置x轴 lines(x = fertil[,"year"], y = fertil[,"pe_1"], col="blue")
如果完全不想显示任何年份文本,只需要在第一次plot()时加上xaxt="n"参数即可。
内容的提问来源于stack exchange,提问作者Aaron
相关产品推荐
相关产品推荐

