我正在嘗試ggplot2在 R 中使用重新創建此解決方案:
我向diamonds名為的資料集添加了一個新變數dummy。 dummy有兩個值:a和b。假設我想通過創建一個條形圖來比較這兩個值,該條形圖對于 的每個值都有兩個彼此相鄰的堆疊條(每個值一個dummy)color。我怎樣才能操縱它,以便每個值都有兩個堆疊的條形color?
我認為它會涉及position dodge和/或單獨的legend,但到目前為止我一直沒有成功。我不希望添加另一面-我想這些都對每個面內的x軸。
uj5u.com熱心網友回復:
類似于帖子中的方法,您已經鏈接了一個選項來實作您想要的結果是通過兩個geom_col并將 x 軸變數轉換為numeric類似的。但是,這樣做需要通過 手動設定中斷和標簽scale_x_continuous。此外,我利用該ggnewscale包添加了第二個填充比例:
library(ggplot2)
library(dplyr)
d <- diamonds %>%
filter(color == "D" | color == "E" | color == "F") %>%
mutate(dummy = rep(c("a", "b"), each = 13057))
ggplot(mapping = aes(y = price))
geom_col(data = filter(d, dummy == "a"), aes(x = as.numeric(color) - .15, fill = clarity), width = .3)
scale_fill_viridis_d(name = "a", guide = guide_legend(order = 1))
scale_x_continuous(breaks = seq_along(levels(d$color)), labels = levels(d$color))
ggnewscale::new_scale_fill()
geom_col(data = filter(d, dummy == "b"), aes(x = as.numeric(color) .15, fill = clarity), width = .3)
scale_fill_viridis_d(name = "b", option = "B", guide = guide_legend(order = 2))
facet_wrap(~cut)

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/343025.html
上一篇:read.csv;check.names=F;R;看圖片,為什么它是一種享受?
下一篇:進行單向方差分析
