首页 文章

如何使用ggplot2手动为绘图或条形图中的每个数据点指定十六进制颜色?

提问于
浏览
3

我有一个数据集,其中一个变量是一个带有十六进制字符的因式数组(例如'#00FF00') . 我想要尝试做的事情之一是创建一个条形图,其中包含所有不同的颜色 .

我试过用

cg<-ggplot(my.data,aes(x=factor(1),fill=as.character(my.color)))

其次是

cg+geom_bar()

但绘制的唯一颜色似乎是默认比例的颜色 . 我试过省略代码的as.character()部分,但它没有什么区别 . 使用geom_point()制作2d图时,我也遇到了同样的问题 .

如果我尝试类似的东西

plot(my.data$var1,my.data$var2,col=as.character(my.color))

虽然图形看起来不像ggplot2中那样好,但颜色是按照我想要的方式绘制的 .

有没有明显的东西我缺少,或者这是否超出了ggplot2的范围?

1 回答

  • 8

    您应该添加 scale_fill_identity() 以使用颜色名称作为实际颜色 .

    ggplot(my.data,aes(x=factor(1),fill=my.color)) +
       geom_bar()+
       scale_fill_identity()
    

相关问题