注文を保持しながらグループ化された棒グラフを作成したい。単一の列で、グループ化された棒グラフでない場合は、並べ替え機能の使用が明らかです。しかし、溶かしたdata.frameでどのように使用するかはわかりません。ここでggplot2:順序付けされたグループバープロットを作成する - (再注文を使用)
は、コード例と詳細な説明である:それを反転しながら、
d.nfl <- data.frame(Team1=c("Vikings", "Chicago", "GreenBay", "Detroit"), Win=c(20, 13, 9, 12))
は、シンプルなバープロットをプロット:
たちはdata.frameを以下しているとしましょう。プロット上の
ggplot(d.nfl, aes(x = Team1, y=Win)) + geom_bar(aes(fill=Team1), stat="identity") + coord_flip()
順序を持っていないだろうと私は勝利でプロットを注文したい場合、私は次の操作を行うことができます:
d.nfl$orderedTeam <- reorder(d.nfl$Team1, d.nfl$Win)
ggplot(d.nfl, aes(x = orderedTeam, y=Win)) + geom_bar(aes(fill=orderedTeam), stat="identity") + coord_flip()
今、私たちは(元のデータフレームに)別の列を追加すると言うことができます
d.nfl$points <- c(12, 3, 45, 5)
Team1 Win points
1 Vikings 20 12
2 Chicago 13 3
3 GreenBay 9 45
4 Detroit 12 5
グループ化されたバープロットを生成するために、最初に我々はそれを溶融する必要があります。
library(reshape2)
> d.nfl.melt <- melt(d.nfl[,c('Team1','Win','points')],id.vars = 1)
> ggplot(d.nfl.melt,aes(x = Team1,y = value)) + geom_bar(aes(fill = variable),position = "dodge", stat="identity") + coord_flip()
上記のggplotは順序付けられていません。
が、私は、グループバープロット(昇順方式)を注文したんか
初めてファクタレベルを並べ替え、それが機能しました。多分、融解したデータフレームのファクタレベルの順序を設定しようとすると...? – joran
[注文バーのggplot2棒グラフの可能な重複](http://stackoverflow.com/questions/5208679/order-bars-in-ggplot2-bar-graph) – alistaire
何か関連[ここ](http:// stackoverflow。 com/questions/1721536/gogplot2-barplotの変更点 - )積み重ねると、プロットする前にデータセットを注文するだけで済みますが、それは避けるためには動作しません。 – aosmith