1

別の因子変数の値に従って、積み上げ棒グラフのバーをグループ化したいと考えています。ただし、ファセットを使用せずにこれを行いたいです。

長い形式の私のデータ

afk積み上げ棒グラフを変数に従ってグループ化したい。通常の積み上げ棒グラフは、次のように作成できます。

ggplot(nl.melt, aes(x=naam, y=perc, fill=stemmen)) +
  geom_bar(stat="identity", width=.7) +
  scale_x_discrete(expand=c(0,0)) +
  scale_y_continuous(expand=c(0,0)) +
  coord_flip() +
  theme_bw()

これは、アルファベット順に並べられたバープロットを提供します。 ここに画像の説明を入力

で使用してそれらをグループ化しようとしx=reorder(naam,afk)ましたaes。しかし、それはうまくいきませんでした。また、使用group=afkしても望ましい効果はありません。

これを行う方法はありますか?

4

3 に答える 3

3

reorder動作するはずですが、問題は因数で並べ替えようとしていることです。その情報をどのように使用したいかを明確にする必要があります。どちらかを使用できます

nl.melt$naam <- reorder(nl.melt$naam, as.numeric(nl.melt$afk))

また

nl.melt$naam <- reorder(nl.melt$naam, as.character(nl.melt$afk), FUN=min)

の既存のレベルで並べ替えるか、afkまたは のレベルでアルファベット順に並べ替えるかによって異なりますafk

それを実行してggplotコードを再実行すると、

更新された棒グラフ

于 2014-05-19T18:46:22.243 に答える
2

@MrFlickのアプローチの代替(リンク先の@CarlosCinelliの回答に基づく)は次のとおりです。

ggplot(nl.melt, aes(x=interaction(naam,afk), y=perc, fill=stemmen)) +
  geom_bar(stat="identity", width=.7) +
  scale_x_discrete(expand=c(0,0)) +
  scale_y_continuous(expand=c(0,0)) +
  coord_flip() +
  theme_bw()

これは次を与えます: ここに画像の説明を入力

于 2014-05-19T19:17:38.480 に答える