2017-07-14 8 views
-1

ggplot2:カテゴリ変数の "squashed" y軸を修正するにはどうすればよいですか?私はこのbarplotで、y軸のラベルの間隔を広げるためにしようとしている

library(data.table)  
ggplot(data, aes(y=values, x=categories)) + 
      geom_bar(stats="identity") +coord_flip() 

enter image description here

もちろんの問題は、〜1500、y軸カテゴリのラベルがあるということです。現時点では、これらは一緒に押しつぶされているため、データの傾向を見ることはできません。

これらのy軸ラベルの間隔を広げるにはどうすればよいですか?プロットを垂直に大きくすることはできますか?しかし

ggplot(data, aes(y=values, x=categories)) 
      +geom_bar(stats="identity") +coord_flip() + scale_x_discrete(expand = c(0,0.01)) 

当然1は

私は?discrete_scaleと、次の解決策を試してみました...文字サイズを小さくするか、バーの幅を減少させるが、これは唯一のポイントに働く可能性がありexpandで手を加えても、実際にこれらのラベルの間にスペースが作成されているようには見えません。

答えて

3

ここでは本当にトリックの答えはありません。 8インチの高さの画像と1500行のテキストがある場合、テキストは大きく重なったり小さすぎたりします。いずれにせよ、それは読めないでしょう。 1つの方法は、yラベルをオフにすることです。 theme(axis.ticks.y = element_blank(), axis.text.y = element_blank())coord_flipに応じて、axis.ticks.xaxis.text.xに変更する必要があることに注意してください。もう1つの選択肢は、データセットをサンプリングすることです。すべてをプロットするのではなく、無作為に選ばれた100行をプロットするだけです。 ggplot(data[sample(dim(data)[1], 100)], aes(...

本当にすべてのラベルとすべてのデータ行が必要な場合、3番目のオプションは非常に大きな画像を作成することです。

pdf(file = "image.pdf", width = 8, height = 120) 
g <- ggplot(data, aes(y = values, x = categories)) + 
    geom_bar(stats="identity") + 
    coord_flip() 
print(g) 
dev.off() 
+0

が表示されます。私はこれを行う唯一の方法は、プロットのサイズを大きくすることだと思います。明確にしてくれてありがとう!私は助けに感謝します。 – ShanZhengYang

関連する問題