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

时间:2013-10-09 04:53:45

标签: r colors plot 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的范围?

1 个答案:

答案 0 :(得分:8)

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

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