![](/img/trans.png)
[英]Manually change colour of one factor level in ggplot2 stacked barplot
[英]How to change color of only one stack in ggplot stacked barplot?
我有一個ggplot堆積的barplot如下
我只想為dec
更改堆棧的顏色組合,例如c(“ red”,“ green”)。 我想要的輸出是
我試過了
ggplot() +
geom_bar(data = x1, aes(y = values, x = months, fill = variable), stat="identity") +
scale_fill_manual(values = c("orange", "blue")) +
geom_bar(data = x2, aes(y = values, x = months, fill = variable), stat="identity") +
scale_fill_manual(values = c("red", "green"))
它僅采用最后的scale_fill_manual
值。 如果是常規條形圖,則更改geom_bar
fill
有效。 我無法弄清楚如何在不為圖例創建額外值的情況下對堆積圖執行此操作。
在我的代碼中,x1包含jan到nov的值,x2包含dec的值。 兩者都是整個數據的子集。
沒有數據集很難給出代碼,但是您想要嘗試做的是創建一個新的type
列(用於完整的數據集)以區分Dec列和其他列,因此您將擁有四種類型:雞肉,雞蛋,雞肉-12月,雞蛋-12月。 根據此新列fill
,您將獲得12月柱形的新顏色。
然后,您可以使用
scale_fill_manual(breaks=c("chickens","eggs"),
values=c("green", "orange", "red", "blue"))
只在圖例中包含您想要的那些值(請原諒我的隨機顏色選擇-為您的圖形使用更好的顏色)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.