在ggplot2中更改躲避的条形图的颜色

3

我目前在尝试更改我制作的条形图的默认颜色。由于我使用了 aes(fill="") 参数的值,因此添加 scale_colour_xscale_fill_x 无法起作用。我将提供我拥有的代码,希望您能找到一个简单的方法与我解决问题。

set.seed(123)
platelay <- data.frame(rown = rep(letters[1:8], 4),
                       coln = rep(1:4,each = 8),
                       colorvar = rnorm(32, 0.3, 0.2))

这个示例数据是96孔板的一部分,每个孔位有不同的荧光读数。

ggplot(platelay,aes(x=rown,y=colorvar,fill=coln)) + 
geom_bar(position="dodge",stat="identity")

这个图应该每行显示5个条形图(对应每个coln),并且我希望它们有不同的颜色,以便于区分每个条形图。
目前的效果如下: dodged barplot 可以看到颜色混在一起,刻度不仅显示了1到4的离散值,而且还有一些小数。由于我并不熟悉R或编程(上周才开始学习),所以希望能得到一点帮助。
1个回答

4

你的颜色出现问题是因为你的填充变量coln不是因子(factor)。只需将其转换为因子(factor),然后使用scale_fill_manual()手动添加所需的颜色即可。您可以给出颜色名称,也可以给出所需颜色的十六进制代码。

ggplot(platelay,aes(x=rown,y=colorvar, fill = as.factor(coln)))+
geom_bar(position="dodge",stat="identity") + 
scale_fill_manual(values = c("blue", "#e50000", "#cc0000","green"))

谢谢!这有一点改进,但不完全是我要找的。我想自定义每个条形的颜色。例如,左边的是蓝色,中间的是不同深浅的红色,右边的是绿色。 - the_man_in_black
正是我想要的。非常感谢你。虽然我不知道为什么第一次尝试时它没有成功。没关系! - the_man_in_black

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接