2017-10-31 9 views
0
ggplot(G, aes(x=State, y=Score, fill=State))+ 
geom_bar(stat="identity", position="dodge")+ 
scale_y_continuous(labels = scales::comma) 

よりエレガントに読ませてください。ggplotを使ってバー間のスペースを増やす方法はありますか?

this output + Iのwannaは236のスコアでXのラインを使用し、

(= 236 V)が動作しませんでした ablineを試してみました!

+0

なぜpythonタグとexcelタグを追加していますか?私の知る限り、Excelには 'ggplot'がありません。あなたの質問は「ggplotでXをどうやってやるのか」のようです。 – Gregor

+1

また、回答を追加した後は、質問の目標を変更しないでください。 "ggplotでバー間のスペースをどのように増やすのですか?"良い焦点を絞った質問です。 "ggplotに水平線を追加するにはどうすればいいですか?"良い焦点を絞った質問でもあります。別の質問として彼らに尋ね、最初の答えが得られた後に2番目のものを編集しないでください。 (また、 'ggplot2'タグで少し前に検索することもできます。例えば、[q1](https://stackoverflow.com/q/10748180/903061)、[q2](https://stackoverflow.com/a/13254691/903061)) – Gregor

答えて

0

を働き、これを試してみてください。 widthgeom_bar()の内側に指定することで、バーの幅を狭くすることができます(割合として1がタッチされ、0.5がバーとギャップの同じ量です。デフォルトは0.9です)。

ggplot(G, aes(x = State, y = Score, fill = State)) + 
    geom_bar(stat = "identity", position = "dodge", width = 0.8) + 
    scale_y_continuous(labels = scales::comma) 

position = "dodge"は、あなたの例では何も実行していません。

多くのバーがあるプロットの場合は、すべてラベルを付けるには、+ coord_flip()をプロットに追加することをおすすめします。通常、水平方向のスペースよりも多くの垂直スペースを持つ方が簡単です。オーバーラップあなたが50バーを超えると、かなりのスペースが必要になります。

1

は、それが私のためのバーがたくさんあります

barplot(c(1,2,3,4),space=c(1,1,1,1)) # equally spaced bars as expected 

barplot(c(1,2,3,4),space=c(1,20,1,1)) # massive gap before the 2nd bar 

barplot(c(1,2,3,4),space=c(20,1,1,1)) # the same as the first plot 
+0

OPは* ggplot *ソリューションを求めました... –

関連する問題