我总是需要 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
)
当我使用 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
)