我有几年的时间序列数据需要在一个图中绘制。最大的系列平均值为340,最小值为245,最大值为900。最小的系列平均值为7,最小值为-28,最大值为31。其余系列的值在6到700的范围内。该系列遵循一定的年度和季节性模式,直到突然出现了一个月的温度激增,随后死亡人数远高于平常。
我无法提供任何真实数据,但我已经模拟了以下数据,并尝试了以下代码,该代码基于此处找到的示例代码http://www.r-bloggers.com/multiple-y-axis-in-a-r-plot/。但是这个图没有产生我想要的效果。我有以下问题:
我无法提供任何真实数据,但我已经模拟了以下数据,并尝试了以下代码,该代码基于此处找到的示例代码http://www.r-bloggers.com/multiple-y-axis-in-a-r-plot/。但是这个图没有产生我想要的效果。我有以下问题:
- 在图中,很难清晰地描述任何系列,重要的事实被隐藏在细节中。如何更好地呈现这些数据?
- Y轴的长度不同。如何使用相同长度的轴?我欢迎在改进这段代码并呈现更好的图形方面提出任何想法和建议。我模拟的数据并未反映出极端天气事件期间镜像的极端值。
temp<- rnorm(365, 5, 10)
mort<- rnorm(365, 300, 45)
poll<- rpois(365, lambda=76)
date<-seq(as.Date('2011-01-01'),as.Date('2011-12-31'),by = 1)
df<-data.frame(date,mort,poll,temp)
windows(600,600)
par(mar=c(5, 12, 4, 4) + 0.1)
with(df, {
plot(date, mort, axes=F, ylim=c(170,max(mort)), xlab="", ylab="",type="l",col="black", main="")
points(date,mort,pch=20,col="black")
axis(2, ylim=c(170,max(mort)),col="black",lwd=2)
mtext(2,text="Mortality",line=2)
})
par(new=T)
plot(date, poll, axes=F, ylim=c(45,max(poll)), xlab="", ylab="",
type="l",col="red",lty=2, main="",lwd=1)
axis(2, ylim=c(45,max(poll)),lwd=1,line=3.5)
points(date, poll,pch=20)
mtext(2,text="PM10",line=5.5)
par(new=T)
plot(date, temp, axes=F, ylim=c(-28,max(temp)), xlab="", ylab="",
type="l",lty=3,col="brown", main="",lwd=1)
axis(2, ylim=c(-28,max(temp)),lwd=1,line=7)
points(date, temp,pch=20)
mtext(2,text="Temperature",line=9)
axis(1,pretty(range(date),10))
mtext("date",side=1,col="black",line=2)