我正在使用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
的颜色,总是以与values
和subset
EG。何时values_range = [1, 2, 3, 4]
和subset1
values = [1, 2, 3]
以及subset2
values = [1, 3, 4]
我希望在1, 2, 3, 4
和subset1
图中subset2
个值具有相同的颜色。
默认情况下,不是这样,ggplot会为2(1) - 3(2)
和3(1) - 4(2)
值提供相同的颜色
你知道我怎么能做到这一点?
答案 0 :(得分:0)
首先将您的值转换为系数
data$values <- factor(data$values)
ggplot(subset, aes(x, y, width = 0.5)) +
geom_bar(aes(fill = values), position = "stack", stat="identity")