ggplot2 棒グラフのバーの順序 質問する

ggplot2 棒グラフのバーの順序 質問する

一番長い棒がY軸に最も近く、一番短い棒がY軸から最も遠い棒グラフを作ろうとしています。これは私が持っている表のようなものになります。

    Name   Position
1   James  Goalkeeper
2   Frank  Goalkeeper
3   Jean   Defense
4   Steve  Defense
5   John   Defense
6   Tim    Striker

そこで、ポジション別にプレーヤーの数を示す棒グラフを作成しようとしています。

p <- ggplot(theTable, aes(x = Position)) + geom_bar(binwidth = 1)

しかし、グラフではゴールキーパーのバーが最初に表示され、次にディフェンス、最後にストライカーのバーが表示されます。ディフェンスのバーが Y 軸に最も近く、ゴールキーパーのバーが最後にストライカーのバーになるようにグラフを並べ替えたいと思います。ありがとうございます

ベストアンサー1

@GavinSimpson:reorderこれは、これに対する強力かつ効果的な解決策です:

ggplot(theTable,
       aes(x=reorder(Position,Position,
                     function(x)-length(x)))) +
       geom_bar()

おすすめ記事