我总是需要带有plot()的lines()吗?

时间:2016-04-05 02:31:15

标签: r plot lines

当我使用plot()绘制时间严重变量时,它只显示点。我使用第二个代码lines()来链接所有点。这真的有必要吗?或者我做错了什么......

数据如下。我使用plot()lines()绘制图表以查看趋势。

YYYYMM<-c("200907","200908","200909","200910","200911","200912","201001","201002","201003","201004","201005","201006","201007","201008","201009","201010","201011","201012","201101","201102","201103","201104","201105","201106")
a<-c(1158,1455,1134,1371,1352,1277,1408,1270,1000,1462,1419,0,0,0,0,0,0,0,0,0,0,0,0,0)
a_number_trend<-data.frame(YYYYMM,a)
a_number_trend

plot(a_number_trend$YYYYMM,a_number_trend$a,las=2,type="l",col="blue")
lines(a_number_trend$YYYYMM,a_number_trend$a,las=2,type="l",col="blue")

情节在开始时就像这样。 enter image description here

然后成为这个。 enter image description here

但我只想要没有短杆的线路。或者将短条改为点。

1 个答案:

答案 0 :(得分:4)

YYYYMM列转换为实际的R ?Date对象。然后你可以正常排队:

a_number_trend$date <- as.Date(
  paste0(a_number_trend$YYYYMM,"01"),
  format="%Y%m%d"
)

plot(a ~ date, data=a_number_trend, type="l", xaxt="n", ann=FALSE)

下面的轴不是非常必要的(如果你想要默认的日期轴计算,请删除上面的xaxt="n"。)

axis.Date(
  1,
  at=seq(min(a_number_trend$date), max(a_number_trend$date), by="1 month"),
  format="%Y%m",
  las=2
)