У меня есть временной ряд из нескольких лет, который мне нужно построить на одном графике. Самая большая серия имеет среднее значение 340 и минимум 245 и максимум 900. Наименьшая серия имеет среднее значение 7 с минимумом -28 и максимум 31. Оставшаяся серия имеет значения в диапазоне от 6 до 700. Серии следует за регулярной ежегодной и сезонной моделью в течение многих лет, пока внезапно не возникло повышение температуры в течение месяца, за которым последовали значительно большие смертельные исходы, чем обычно.
Я не могу предоставить никаких реальных данных, но я смоделировал следующие данные и попробовал код ниже, который был основан на примере кода, найденного здесь 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)