2017-03-18 110 views
0

我想生成一个条形图与ggplot2其中一个单一的酒吧是用指定的颜色分离。ggplot使用geom_bar - 区分单色条与颜色

要使用一个简单的数据帧说明:

type <- c('apples','pears','bananas','plums','melons','pineapples') 
weight <- c(14,11,19,16,12,8) 
fruit <- data.frame(type,weight) 

这是我迄今为止生产的情节:

library("ggplot2") 
f <- ggplot(fruit, aes(x=type, y=weight)) 

f + geom_bar(stat=’identity", fill = (ifelse(fruit$type=='bananas', 'yellow', 'gray'))) 
+0

OK,所以有什么问题呢? (除了你的''',而不是''') – Axeman

+0

我得到'甜瓜'填充为黄色时,它应该是'香蕉' – Curious56

+2

好吧。尝试'f + geom_col(aes(fill = ifelse(fruit $ type =='bananas','yellow','gray')))+ scale_fill_identity()' – Axeman

回答

1

的ggplot巴的依赖的顺序上您的因子变量的水平为fruit$type

更换你用下面的工作最后一行,因为我们需要的因子水平是香蕉:

f + geom_bar(stat="identity", fill = (ifelse(levels(fruit$type)=='bananas', 'yellow', 'gray'))) 
+0

Axeman's和Robert的解决方案都很好,非常感谢。 – Curious56