4

ggplot2 でバーをプロットしているときに、因子変数の正しい順序に問題があります。元のデータセット (2 つのレベル 'A' と 'B' を持つ変数 g) のサブセットで 2 つの geom_bars を使用しています。

因子変数の元の順序を維持するにはどうすればよいですか? var が数値の場合は問題ありませんが、x が因数であると仮定します。

これが私のコードです:

library(plyr)
library(ggplot2)

dane<-data.frame(x=1:10,y=seq(-5,4),g=rep(c('A','B'),each=5))
    dane$x<-as.factor(dane$x)

      ggplot(data=dane,aes(x=x,y=y,fill=g)) + 
        geom_bar(subset=.(g=='A'),stat='identity') +
        geom_bar(subset=.(g=='B'),stat='identity')

と結果

注文間違い

編集: ライブラリのコードをコピーするのを忘れていました。

4

1 に答える 1

3

私はgithubで答えを得ました(本当に速いです、私は感銘を受けました:))。Brian Diggs はscale_x_discrete(drop = FALSE)、私の問題を解決するために使用することを提案しました。これが私のgithubレポートとソリューションへのリンクです。さて、思い通りの結果になりました。

ggplot(data=dane,aes(x=x,y=y,fill=g)) + 
    geom_bar(subset=.(g=='A'),stat='identity') +
    geom_bar(subset=.(g=='B'),stat='identity') +
    scale_x_discrete(drop=FALSE)

ここに画像の説明を入力

于 2013-03-25T22:27:45.860 に答える