1

水平積み上げ棒グラフを作成して、さまざまな値で最高のパフォーマンスを発揮するモデル間の遷移を視覚化しようとしています。私が問題を抱えている点は、値軸 (最初は y ですが、coord_flip() で x に反転) を、0.25 が下限、1 が中間になるように対数スケールにしたいということです。 4が私の上限です。モデル間の遷移と軸値の対応を維持したい。

ここに私のデータがあります

stock.best<-c("ESTU","ESTU","ESTU","ESUM","ESUM","ESUM","SUMM","LLAT","LLAT","LLAT")
model.best<-c("D","T","Q","D","TQ","T","TQ","D","R","Q")
value.best<-c(1.18166,0.15034,2.668,0.6771123,1.408938,1.91395,4,0.2966743,1.143973,2.559352)
ALF.best<-data.frame(stock.best,model.best,value.best)
ALF.best$stock.best <- factor(ALF.best$stock.best, levels = c("LLAT", "SUMM", "ESUM", "ESTU"))
ALF.best$model.best <- factor(ALF.best$model.best, levels = c("D", "TQ", "T", "R","Q","NMA"))

棒グラフでの私の最善の試み。

qplot(stock.best, data=ALF.best, geom="bar", weight = value.best, fill=factor(model.best), xlab="", ylab="UH:UE ratio") 
+ scale_y_continuous(breaks = c(0.25,0.5,0.75,1,2,3,4)) + coord_flip()

このプロットはほぼ完璧です。私のモデルの遷移は、軸上の正しい値と一致しています。たとえば、ESTU 係数では、モデル D からモデル T への移行は 1.18 で発生します。ただし、軸が 1 と 4 のように 0.25 と 1 の間で等間隔になるようにします。2 つのグラフを coord_flip(ylim = c(0.25,1)) で作成し、もう 1 つを coord_flip(ylim = c(1,4)) と並べて貼り付けますが、パワーポイントの魔法を使わずに作るといいでしょう。

4

1 に答える 1

0

あなたの質問の意味がよくわかりません。棒グラフは0になるため、対数スケールは棒グラフにはあまり意味がありません。

を使用して、加重棒グラフの別のバージョンを次に示しますstat_summary。個人的には、実際に何が起こるかを見て、柔軟性が高い (たとえば、fun.y で遊ぶ) ため、これを好みます。

  ggplot(data=ALF.best,
       aes(x=stock.best,y=value.best,fill=model.best,group=model.best))+
  geom_bar(stat = "summary",fun.y=sum) + 
  coord_flip()

ここに画像の説明を入力

于 2013-06-11T06:53:38.630 に答える