我有一個溫度值隨時間繪制的ggplot。我想在溫度超過閾值(比如說 12 度)的圖表中添加垂直線。
代表:
#example data
Temp <- c(10.55, 11.02, 6.75, 12.55, 15.5)
Date <- c("01/01/2000", "02/01/2000", "03/01/2000", "04/01/2000", "05/01/2000")
#data.frame
df1 <- data.frame(Temp, Date)
#plot
df1%>%
ggplot(aes(Date, format(as.numeric(Temp))))
geom_line(group=1)
我想我可以做點什么geom_hline然后旋轉 90 度。我通過嘗試創建一個object介于 12 和 20 之間的所有值(到 2dp)來解決這個問題。然后我會告訴geom_hline使用它object來匹配值并繪制線條。
然后我有點卡住了。我真的不知道如何旋轉線條,或者這是否是個好主意。
免責宣告:我知道我的日期實際上不是 reprex 中的日期,但它們在我的范圍內。
uj5u.com熱心網友回復:
geom_vline也可以接受 xintercept
在
xintercept引數中(如果要手動指定)或aes(xintercept = ...)如果您想使用資料框中的值。我們可以使用data = . %>% filter...與 ggplot 相同的資料框,但應用一些進一步的操作。
df1 %>%
mutate(Date = as.Date(Date, "%m/%d/%Y")) %>%
ggplot(aes(Date, Temp))
geom_line()
geom_vline(data = . %>% filter(Temp > 12),
aes(xintercept = Date))

uj5u.com熱心網友回復:
如果你想有從 12 級別開始的垂直線:
ggplot(df1, aes(Date, as.numeric(Temp)))
geom_line(group=1)
geom_segment(data= df1[df1$Temp>12,],
aes(x = Date,
xend = Date,
y = 12,
yend = Temp),
color = "blue", lwd = 1)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/488568.html
上一篇:根據R中的日期范圍合并資料框
下一篇:矩陣乘法的維數
