2016-07-17 35 views
0

の異なるグループに変更するには、私は会計期間を示す次のデータセットを持って、取引の積和:ggplot2:geom_bar塗りつぶし色。どのようにデータ

app$FISCAL_PERIOD <-c(201604,201604,201604,201605,201605,201605,201606,201606,201606,201607,201607,201607,201608,201608,201608,201609,201609,201610,201610,201611,201611) 

app$Product <- c("Product 1","Product 3","Other","Product 1","Product 3","Other","Product 1","Product 3","Other","Product 1","Product 3","Other","Product 1","Product 3","Other","Product 2","Product 3","Product 2","Product 3","Product 2","Product 3") 

app$sum_trans<-c(78,23410,1946,84,29532,417,16,30364,129,305,32386,584,424,20873,274,20,20929,470,19261,10,6131) 

私はggplot2でかわし棒グラフとしてこれをプロットしています。 Ggplotは自動的に各塗りつぶしに色を割り当てて、各会計期間が異なる色になるようにします。私は必要なもの

Plot drawn by ggplot code above

ggplot(data = app, aes(x = Product, y = sum_trans, fill = as.factor(FISCAL_PERIOD))) + 
    geom_bar(stat="identity", position="dodge", colour="black") 
同じ色やチャートに影響を与えないフィル変数を持つ各製品を示すことです。 I.私はすべての製品1の会計期間データを1つの色にし、すべての製品3の会計期間データを別のものにしたいと思います。

答えて

0

あなたはそれはあなたが望む色を定義するようproductとしてフィル変数を設定し、各バーはまだ一年で区分されるようにFISCAL_PERIODとして追加のグループ変数を指定することができます。

ggplot(data = app, aes(x = Product, y = sum_trans, fill = Product, group = FISCAL_PERIOD)) + 
    geom_bar(stat="identity", position="dodge", colour="black") 

enter image description here

+0

この素晴らしいです、ありがとう。どのような方法でピリオドにラベルを付ける方法はありますか? x asisで? –

+0

ラベル付けには 'geom_text()'を使うことができますが、それは非常に混雑したテキストになります。これを行うには別の方法を考える必要があるかもしれません。ラベリングのために、 'geom_text(aes(label = FISCAL_PERIOD)、position = position_dodge(width = 0.9)、vjust = -0.25)'をプロットに追加すると、各バーにすべての年が与えられます。それに応じてパラメータを調整します。 – Psidom

関連する問題