2016-04-19 190 views
1

我目前正在努力改变我制作的barplot的默认颜色。由于我使用了aes(fill="")参数的值,所以添加scale_colour_xscale_fill_x不起作用。我会为您提供我拥有的代码,并希望您能找到解决我的问题的简单方法。更改ggplot2中躲避的barplot的颜色

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 microwellplate用每孔不同的荧光读数的一部分)

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

rown和我的曲线应该给5巴(每个coln)希望它们具有可以轻松区分每个小节的颜色。

这是它看起来像现在: dodged barplot

正如你所看到的颜色混合和规模不仅是不同的值1到4,但也减半显示。 因为我对R或编码根本不熟悉(上周才开始学习它),我将不胜感激。

回答

2

您正在获取该颜色,因为您的填充变量coln不是因子。只需将其转换为因子,然后使用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")) 
+0

谢谢!这有点更好,但不是我想要的。我想自定义每个栏的颜色。所以例如左边是蓝色,中间是红色,右边是绿色。 –

+0

我已经更新了答案。检查这是否有用 – navinkb

+0

正是我想要的。非常感谢。虽然我不知道为什么当我第一次尝试它时没有。 NVM! –