ggplot2:设置颜色的映射 - >值,独立于值子集

时间:2016-05-31 18:27:29

标签: r plot ggplot2

我正在使用ggplot2在R中制作地块。

我的情节如下:

values_range

ggplot(subset, aes(x, y, width = 0.5)) + 
geom_bar(aes(fill = factor(sort(values))), position = "stack", stat="identity")

其中values_range是所有可能values的向量,subset是我数据的子集

如何强制ggplot选择fill的颜色,总是以与valuessubset

相同的方式

EG。何时values_range = [1, 2, 3, 4]subset1 values = [1, 2, 3]以及subset2 values = [1, 3, 4]

我希望在1, 2, 3, 4subset1图中subset2个值具有相同的颜色。 默认情况下,不是这样,ggplot会为2(1) - 3(2)3(1) - 4(2)值提供相同的颜色

你知道我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

首先将您的值转换为系数

data$values <- factor(data$values)
ggplot(subset, aes(x, y, width = 0.5)) + 
   geom_bar(aes(fill = values), position = "stack", stat="identity")