2012-10-01 61 views
3

我对以下数据的GGPLOT2情节的工作:[R 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(values = c('#0023a0','#f9a635'))+ ...),但是我得到的只是一个错误(提供给离散尺度的连续值) 。有任何想法吗?

+0

这是一个你可能已经通过一些谷歌搜索得到的问题。如果你使用ggplot2,我建议你熟悉R食谱网站。这是链接到该网站的颜色页面[(LINK)](http://wiki.stdout.org/rcookbook/Graphs/Colors%20(ggplot2)/) –

+0

这就是我实际做的;我使用了食谱,并在google上搜索了错误(提供给离散比例的连续值);找到一个,但它不适用于我的问题。我花了3.5个小时尝试了几件事后,投降了。 –

+0

我的歉意,我读了你的文章太快,错过了错误。 –

回答

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')) 
+0

非常感谢您的帮助!这为我节省了更多的小时数! –

+2

很高兴你发现它很有用。您能否在这种情况下将其标记为正确的答案(答案左侧的复选标记?)。谢谢。 – Maiasaura