时间序列水平图上的叠加点
Overlay points on a timeseries level plot
我有一个使用温度时间序列数据的水平图。水平图如下所示:
Date<-as.Date(c("2017-01-01","2017-01-01","2017-01-01","2017-01-02","2017-01-02","2017-01-02","2017-01-03","2017-01-03","2017-01-03","2017-01-4","2017-01-4","2017-01-4"))
Date<-as.POSIXct(Date)
Y<-c(1,2,3,1,2,3,1,2,3,1,2,3)
Temp<-c(20,23,25,19,20,21,18,19,20,13,17,19)
DF<-data.frame(Date,Y,Temp)
dev.new(width=15, height=6)
levelplot(Temp ~ Date * Y, data = DF,ylim=c(3,1),
xlab = "TimeStamp", ylab = "Temp",
main = "Test", aspect=0.4,
col.regions =colorRampPalette(c('blue','red')),at=seq(13, 25, length.out=120))
我想在此图上叠加 3 个点。理想情况下,我希望在 1 月 1 日 Y=2、1 月 2 日 Y= 2.3 和 1 月 3 日 Y=1.2
您可以像这样使用 latticeExtra
中的 layer
:
library(latticeExtra)
p <- levelplot(Temp ~ Date * Y, data = DF,ylim=c(3,1),
xlab = "TimeStamp", ylab = "Temp",
main = "Test", aspect=0.4,
col.regions = colorRampPalette(c('blue','red')),
at=seq(13, 25, length.out=120))
p + layer(panel.points(c(DF$Date[1], DF$Date[4], DF$Date[7]), c(2, 2.3, 1.2),
pch = 1, col = "black"))
输出这个:
如果你想要稳固的分数,你可以尝试pch = 19
我有一个使用温度时间序列数据的水平图。水平图如下所示:
Date<-as.Date(c("2017-01-01","2017-01-01","2017-01-01","2017-01-02","2017-01-02","2017-01-02","2017-01-03","2017-01-03","2017-01-03","2017-01-4","2017-01-4","2017-01-4"))
Date<-as.POSIXct(Date)
Y<-c(1,2,3,1,2,3,1,2,3,1,2,3)
Temp<-c(20,23,25,19,20,21,18,19,20,13,17,19)
DF<-data.frame(Date,Y,Temp)
dev.new(width=15, height=6)
levelplot(Temp ~ Date * Y, data = DF,ylim=c(3,1),
xlab = "TimeStamp", ylab = "Temp",
main = "Test", aspect=0.4,
col.regions =colorRampPalette(c('blue','red')),at=seq(13, 25, length.out=120))
我想在此图上叠加 3 个点。理想情况下,我希望在 1 月 1 日 Y=2、1 月 2 日 Y= 2.3 和 1 月 3 日 Y=1.2
您可以像这样使用 latticeExtra
中的 layer
:
library(latticeExtra)
p <- levelplot(Temp ~ Date * Y, data = DF,ylim=c(3,1),
xlab = "TimeStamp", ylab = "Temp",
main = "Test", aspect=0.4,
col.regions = colorRampPalette(c('blue','red')),
at=seq(13, 25, length.out=120))
p + layer(panel.points(c(DF$Date[1], DF$Date[4], DF$Date[7]), c(2, 2.3, 1.2),
pch = 1, col = "black"))
输出这个:
如果你想要稳固的分数,你可以尝试pch = 19