2012-10-09 20 views
31

デフォルトでは、ggplot2はメジャーグリッドのわずか半分のマイナーグリッドを使用しているようです。これを壊す方法はありますか?ggplot2のマイナーグリッド線の数を制御する方法は?

たとえば、私はx軸が年であり、大きなブレークは(1850,1900,1950,2000)であるプロットを持っています。これは、マイナーグリッドポイントが(1875年、1925年、1975年)にあることを意味します。マイナーグリッドを10年ごとに表示させるにはどうすればよいですか?

+2

あなたは(ggplot2の最新バージョンで) 'テーマ(panel.grid.major.x = element_blank()、panel.gridでグリッド線を排除することができます'geom_vline' –

+0

あなたがサンプルデータを提供しなかったので、私はデフォルトの' ggplot'データセットでそれを実証しました。 – Maiasaura

+0

@TylerRinker:排除を探していません。それに関する他の質問があります。 – naught101

答えて

62

scale_x_continuousに明示的にminor_breaks()を指定することによって行います。以下の私の例ではpanel.grid.majorを指定していないので、以下の2つのプロットにはこれらのプロットはありません(ただし、必要な場合はそれらを追加する必要があります)。あなたの問題を解決するには、minor_breaks()の引数として年をシーケンスまたは年のベクトルとして指定する必要があります。

ggplot(movies, aes(x=rating)) + geom_histogram() + 
theme(panel.grid.minor = element_line(colour="blue", size=0.5)) + 
scale_x_continuous(minor_breaks = seq(1, 10, 1)) 

enter image description here

ggplot(movies, aes(x=rating)) + geom_histogram() + 
theme(panel.grid.minor = element_line(colour="blue", size=0.5)) + 
scale_x_continuous(minor_breaks = seq(1, 10, 0.5)) 

enter image description here

+1

ありがとう、私はそれを逃した方法を知らない。また、私はあなたがなぜそれらを青にしたのか本当に理解していない...それは灰色のデフォルト白よりも醜いです... – naught101

+6

ちょうど私のポイントを強調する。私は青も醜いと思う(あなたはそのオプションを使う必要はない)。 – Maiasaura

+68

あなたはこの男の問題を解決し、あなたの色の選択を批判する彼の応答? +1 –

関連する問題