我想在ggplot中使用自定義線型。如果這是不可能的(我相信這是真的),那麼我正在尋找一個聰明的黑客來繪製箭頭狀符號在上面或下面,我的線。在ggplot2中自定義線型或在線下添加自動箭頭/符號
一些背景:
我想繪製一些水質數據,並將其與標準(由歐洲水框架指令設置)進行比較以紅線顯示。下面是一些重複性的數據和我的情節:
df <- data.frame(datum <- seq.Date(as.Date("2014-01-01"),
as.Date("2014-12-31"),by = "week"),y=rnorm(53,mean=100,sd=40))
(plot1 <-
ggplot(df, aes(x=datum,y=y)) +
geom_line() +
geom_point() +
theme_classic()+
geom_hline(aes(yintercept=70),colour="red"))
然而,在這個情節是完全不清楚,如果標準是最大值(因爲這將是例如氯離子)或最小值(因爲這將是氧)。所以我想通過添加小指針/箭頭向上或向下來清除它。最好的辦法是自定義線型,使其包含這些箭頭,但我找不到方法。
Q1:這是否可能,定義自定義線型?
所有我能想到的線下方加入了加分:
extrapoints <- data.frame(datum2 <- seq.Date(as.Date("2014-01-01"),
as.Date("2014-12-31"),by = "week"),y2=68)
plot1 + geom_point(data=extrapoints, aes(x=datum2,y=y2),
shape=">",size=5,colour="red",rotate=90)
不過,我似乎無法旋轉這些符號指向下方。此外,這需要每次計算X的正確間距和到線(Y)的距離,這是相當不方便的。 Q2:有沒有辦法實現這一點,最好儘可能自動化?
你用x的正確間距表示什麼意思?如果我說實話,即使在旋轉箭頭('plot1 + geom_text(data = extrapoints,aes(x = datum2,y = y2,label =「>」),angle = 90,color =「red」)'')它並沒有真正說清楚。如何創建彩色矩形來表示內部/外部可接受的範圍? – Heroka
@Heroka我認爲由向下指向的箭頭組成的一行表明該值應該低於該行。想到彩色矩形例如'geom_ribbon'也在我腦海中,也許可以解決這個問題。但是我也很好奇自定義線型是否可行,如果不是,其他人會如何解決這個問題。 – RHA