我有一個這樣的資料框:
df <- data.frame("Name" = rep(c("Aa", "Ab", "Ac", "Ba", "Ca", "Cb"), 3),
"Level" = c(rep("High",6), rep("Medium",6), rep("Low",6)),
"plot.fill" = c(0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1),
"Group" = rep(c("A", "A", "A", "B", "C", "C"), 3))
我正在嘗試使用geom_tile
. 我想出了如何使用plot.fill
引數填充或不填充瓷磚:
ggplot(df, aes(x=Name, y=Level, fill = plot.fill == 1))
geom_tile() scale_fill_manual(values = c('FALSE'="white", 'TRUE'="blue"))
但我也想根據Group
. 我試過這個,但現在它填充了所有的瓷磚,不管plot.fill
.
ggplot(df, aes(x=Name, y=Level, fill = Group))
geom_tile() scale_fill_manual(values = c("blue","red","yellow"))
我也嘗試添加argumentmnt,但它給aes(fill=Group)
了geom_tile
我一個錯誤(mapping must be created by aes()
)。Group
只有當plot.fill
值相等時,我應該如何組合每個代碼正在執行的操作以填充不同顏色的圖塊1
?
uj5u.com熱心網友回復:
您可以使用 alpha 標度(身份映射到plot.fill
)來指示存在/不存在。這允許您使用填充美學來指示Group
:
ggplot(df, aes(Name, Level, fill = Group, alpha = plot.fill))
geom_tile(color = "black")
scale_alpha_identity()
scale_fill_brewer(palette = "Set1")
coord_equal()
theme_minimal(base_size = 16)
theme(panel.grid = element_blank())
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491407.html