【发布时间】:2019-08-07 13:36:02
【问题描述】:
我正在制作多个条形图。我正在根据因子的水平使用填充颜色代码。因子名称为 Percentile.Category,水平为 0-25、26-50、51-75、76-90、91-100。问题是并非所有图表都具有因子的全部 5 个水平,所以当我使用调色板时,因子在不同图表中的颜色并不相同。
这是我必须生成绘图的代码示例。我基本上用不同的数据框复制了相同的东西来生成多个图:
UC %>%
ggplot(aes(x = reorder(Provider.Name, Score), y = Score)) +
geom_bar(stat = "identity", aes(fill = Percentile.category)) +
coord_flip() +
ggtitle("Urgent Care Percentiles for 'Would Recommend Facility'") +
ylab("Would You Recommend Top Box") +
xlab("Provider") +
scale_fill_brewer(palette = "Spectral") +
geom_text(aes(label = Score), size = 2.5, vjust = .4, hjust = 1.2, fontface = "bold")
现在,如果特定数据框缺少某个因子级别的任何数据,则每个因子级别的颜色都会发生变化。我想要的是因子级别的颜色在不同的图中匹配。例如,51-75 在所有颜色中都是相同的颜色。
【问题讨论】:
-
不确定是否有其他方法可以做到这一点,但我认为您需要为您的地块设置手动比例?那会奏效的。
-
预先设置颜色:
cols <- c("0-25" = "red", "26-50," = "pink", ...),如果您用完了颜色创意,请添加scale_color_manual(values = cols):google.com/… -
检查
scale_color_manual(values = c(...), drop=F)中的drop参数并将其设置为FALSE -
你能分享一个数据样本吗?