簡體   English   中英

如何用y軸值對geom_bar進行着色?

[英]How to color geom_bar by y-axis values?

我正在使用ggplot2 geom_bar制作標准條形圖。 我試圖用最高值填充條形,使用與具有最低值的條形圖不同的顏色。

例如,

ggplot(mtcars, aes(x=as.factor(cyl) )) + geom_bar()

如何在紅色(例如,E)中將20以上的條紋,以藍色(B和D)從10到20的條形,以及在橙色(A和C)中的10以下的條形。

感謝您的任何見解!

在此輸入圖像描述

我正在使用geom_col,我的實際代碼看起來像這樣

ggplot(data, aes(x=State, y=Value)) +
 geom_col()

你可能會使用cut

ggplot(mtcars, aes(x = as.factor(cyl))) +
  geom_bar(aes(fill = cut(stat(count), breaks = c(0, 8, 12, Inf)))) +
  labs(fill = "Breaks")

在此輸入圖像描述

你顯然需要根據你的需要/數據調整休息時間。


編輯

如果我們使用geom_col而不是geom_bar我們需要將fill = stat(count)更改為fill = value_column (無論value_column是什么,但它應該與我們映射到y那個相同)。

例:

df <- data.frame(trt = c("a", "b", "c"), outcome = c(2.3, 1.9, 3.2))
ggplot(df, aes(trt, outcome)) +
  geom_col(aes(fill = cut(outcome, breaks = c(0, 2, 3, Inf)))) +
  labs(fill = "Breaks")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM