我总是需要 lines() 和 plot() 吗?

Do I always need lines() with plot()?

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

数据如下。我用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")

开头的剧情是这样的。

然后变成这样。

但我只想要没有短条的线。或将短条换成点。

将您的 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
)