首页 文章

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

提问于
浏览
0

这个问题在这里已有答案:

我正在使用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 是所有可能的矢量 valuessubset 是我数据的子集

我如何强制ggplot为 fill 选择颜色总是以相同的方式独立于 valuessubset

例如 . values_range = [1, 2, 3, 4]subset1 values = [1, 2, 3] 以及 subset2 values = [1, 3, 4]

我希望 1, 2, 3, 4 值在 subset1subset2 图中具有相同的颜色 . 默认情况下不是这样,ggplot会为 2(1) - 3(2)3(1) - 4(2) 值赋予相同的颜色

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

1 回答

  • 0

    convert your values to factor firstly

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

相关问题