我有一个数据集,其中一个变量是一个带有十六进制字符的因式数组(例如'#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的范围?
答案 0 :(得分:8)
您应添加scale_fill_identity()
以使用颜色名称作为实际颜色。
ggplot(my.data,aes(x=factor(1),fill=my.color)) +
geom_bar()+
scale_fill_identity()