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

Max*_*cia 3 plot r colors ggplot2

我有一个数据集,其中一个变量是一个带有十六进制字符的因式数组(例如'#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的范围?

Did*_*rts 9

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

ggplot(my.data,aes(x=factor(1),fill=my.color)) +
   geom_bar()+
   scale_fill_identity()
Run Code Online (Sandbox Code Playgroud)