Z danych meteorologicznych (godzinowe wartości temperatury, wiatru i wilgotności) udało mi się wykreślić serie czasowe prędkości i kierunku wiatru. Teraz chciałbym dodać wektory wiatru na wykresie szeregu czasowego. Tutaj możesz zobaczyć wyniki, które chciałbym (strzałki narysowane na faktycznym wykresie).ggplot2 seria czasowa wiatru ze strzałkami/wektorami
Używam ggplot2, zostały pominie stackoverflow, ggplot2 docs pakietów (nadal będzie), ale nie znaleziono rozwiązanie. Każdy pomysł lub wskazówka, gdzie szukać, byłby punktem wyjścia.
góry dzięki
EDIT PYTANIE Jak sugeruje w komentarzu przez @slowlearner dodam tutaj kod i dane, aby wykonać powtarzalne przykład. Wygląda na to, że geom_segment może załatwić sprawę. Udało mi się obliczyć yend w geom_segment, ale nie mogę znaleźć sposobu znalezienia xend, ponieważ oś x jest osią czasu. Mam dane prędkości i kierunku wiatru, więc mogę obliczyć komponenty wiatrowe x, y dla geom_segment, ale x musi zostać przekonwertowany na format czasu.
Oto kod używany do działki (temperatury) i data
for (i in 1:2) {
rams=subset(data,data$stat_id %in% i)
tore=subset(torre,torre$stat_id %in% i)
# Gràfica en ggplot
# Gráfica de evolución temporal de las estaciones de la zona
gtitol=places$nom[places$stat_id == i]
myplot=ggplot(data=rams,aes(x=datetime, y=tempc, colour="RAMS")) +
geom_line() + ylab("Temperatura (ºC)") + xlab(" ") +
ggtitle(gtitol) + theme(legend.title=element_blank()) + theme(legend.position="bottom") +
scale_y_continuous(limits = c(0,40)) +
geom_line(data=tore,aes(x=datetime,y=temp,colour = "Torre"))
#scale_y_continuous(breaks = round(seq(min(data$tempc), max(data$tempc), by = 2),0))
ggsave(myplot,filename=paste("RAMS-",i,".png",sep=""),width=7.78,height=5.79)
}
Po geom_segment docs Próbowałem
p=ggplot(tore, aes(x =datetime, y = 5))
p + geom_segment(aes(xend = datetime, yend = 5 + v), arrow = arrow(length = unit(0.1,"cm")))
Pierwsze tego rodzaju figury. Możesz zobaczyć współrzędną x jest datetime, w jaki sposób powinienem przekonwertować komponent wiatru, aby uzyskać xend? Teraz xKoniec równa datetime ale chciałbym coś jak „datetime + xwindcomp”
Dzięki za pomoc
Zobacz "geom_segment' i zauważ, że ma on argument" strzałki ". – joran
Wyewidencjonuj calenderPlot() z pakietu open air, może to być pomocne, nawet jeśli nie tworzy szeregów czasowych. – eliavs
'geom_segment (aes (x = 0, y = 0, xend = xend, yend = 0), linia, strzałka = strzałka (typ =" zamknięty ", kąt = 23), kolor =" czerwony ", rozmiar = 1.0) 'jest tym, czego używam do narysowania strzałki na wykresie ggplot. Czy to właśnie powinieneś wiedzieć? Btw: 'strzałka' jest funkcją w pakiecie' grid'. – ROLO