R ggplot2更改分组条形图的颜色

3

我正在处理以下数据的ggplot2图:

means <- c(2.4,3,3,3.16,2.5,2.5,3,4.5)
sds <- c(1.0,1.2,1.0,1.1,2.1,0.7,2.8,0.7)
teams <- c(1,1,1,1,2,2,2,2)
scales <- c(1,2,3,4,1,2,3,4)

datas <- data.frame(teams, scales, means, sds)

多亏了一位非常活跃的助手,现在画面看起来是这样的:

graph <- 
    ggplot(data=datas,  aes(scales, y=means, group=teams)) + 
    geom_bar(aes(fill=teams), stat="identity", 
             position="dodge") + 
    geom_errorbar(aes(ymin= means - sds, ymax = means + sds, width=0.2), 
                  position=position_dodge(width=0.90)) +
    coord_flip()

现在我想将条形图的颜色更改为特殊的颜色。 我得到了一个提示,说scale_fill_manual可以实现这一点(我尝试了scale_fill_manual(values=c('# 0023a0','#f9a635'))+ ...),但我收到的是一个错误(连续值提供给离散比例)。有什么想法吗?


这个问题你可能可以通过一些谷歌搜索来得到答案。如果你有一些使用ggplot2的经验,我建议你熟悉一下R菜谱网站。这是该网站颜色页面的链接:(链接) - Tyler Rinker
这就是我实际所做的;我使用了食谱并在谷歌上搜索了错误(连续值提供给离散比例尺);找到了一个解决方法,但它并不适用于我的问题。经过尝试了几个小时后,我放弃了。 - Uwe W.
非常抱歉,我匆忙阅读了您的帖子,错过了错误。 - Tyler Rinker
1个回答

8
ggplot(data = datas,  aes(scales, y = means, group = teams)) + 
    geom_bar(aes(fill = as.factor(teams)), stat = "identity", 
             position = "dodge") + 
    geom_errorbar(aes(ymin = means - sds, ymax = means + sds, width=0.2), 
                  position = position_dodge(width = 0.90)) +
    coord_flip()  + scale_fill_manual("Teams",values = c('#0023a0', '#f9a635'))

非常感谢您的帮助!这节省了我更多的时间和挫折! - Uwe W.
2
很高兴你觉得它有用。那么,你可以标记一下这个回答为正确答案吗(在我的回答左边有一个勾选标志)?谢谢。 - Maiasaura

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