[英]R ggplot2: manually set fill colour without "fill" aesthetic?
假設一把小提琴 plot 使用 ggplot2 創建,只有一個因子(在水平軸上)。 這個 plot 顯示無色小提琴,因為單一因素用於 x 軸。
例如,這個快速的 MWE:
oneplot <- ggplot(ToothGrowth, aes(x=dose, y=len)) +
geom_violin()
oneplot
之后是否可以設置填充顏色? 在我的實際設置中,plot 是通過負責多個事物的大型程序生成的,並且沒有分配“填充”美學; 它只是提供了一個 plot ,可以在事后使用其他圖形指令(例如scale_fill_manual
)進行更改。
我希望我可以添加一些指令,例如,
oneplot + scale_fill_manual(breaks = c(0.5,1,2), values = c("orange", "purple","blue"))
但目前,填充物完全沒有顏色!
不是很出名,但您也可以將aes
用作附加 plot 組件。
所以:
oneplot <- ggplot(ToothGrowth, aes(x=factor(dose), y=len)) +
geom_violin()
oneplot
oneplot + aes(fill = supp)
這確實假設您的 fill 變量存在於數據中,因此supp
必須存在於ToothGrowth
中。 但是,我們也可以使用特殊運算符%+%
更新數據組件:
oneplot %+% filter(ToothGrowth, dose < 2) + aes(fill = supp)
在對相同的 plot 進行細微改動時,這些技術非常有用。定義一次大型結構,然后為每個 plot 更新數據或美學。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.