2017-03-18 9 views
0

と1つのバーを区別する。単純なデータフレームを説明するためにggplot - 私は1つのバーが指定された色でdistiguishedされているggplot2で棒グラフを生成する色

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

OKああ。試してみてください' F + geom_col(AES(= ifelseを埋める(フルーツ$ 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とRobertの両方のソリューションはうまくいきます。 – Curious56

関連する問題