ggplot2の軸のタイトルとラベルのサイズを変更する


145

本当に簡単な質問があります。その答えを見つけるのに苦労しています。ここの誰かが私を助けてくれるといいのですが。

データフレームの例を以下に示します。

a <- c(1:10)
b <- c(10:1)
df <- data.frame(a,b)
library(ggplot2)
g = ggplot(data=df) + geom_point(aes(x=a, y=b)) +
  xlab("x axis")
g

AxesのタイトルとAxesのラベルのテキストサイズを変更する方法を知りたいだけです。

回答:


313

軸のテキストとラベルのサイズは、引数axis.text=axis.title=関数で変更できますtheme()。たとえば、x軸のタイトルサイズのみを変更する必要がある場合は、を使用しますaxis.title.x=

g+theme(axis.text=element_text(size=12),
        axis.title=element_text(size=14,face="bold"))

ggplot2ページでのさまざまなtheme()パラメーターの設定に関する良い例があります


8
rel()現在、非常に直感的な機能もあります。例size = rel(2.0)
2018年

2
X軸の目盛りの値を変更せずにlabs(x = "x axis")テキストサイズ変更するにはどうすればよいですか?
baxx 2018

53

これを行うより良い方法は、base_size議論を変えることだと思います。それはテキストサイズを一貫して増やします。

g + theme_grey(base_size = 22)

ここに見られるよう


5
すでに他のthemeインスタンスがある場合、これは競合を引き起こす可能性があります。
アダムエリクソン

10

多くのグラフを作成している場合、各グラフに対して、タイトルとテキストのサイズを制御するコード行を入力するのにうんざりする可能性があります。私が通常行うことは、目的のテーマの特性を定義した(クラス "theme" "gg"の)オブジェクトを作成することです。コードの最初でそれを行うことができます。

My_Theme = theme(
  axis.title.x = element_text(size = 16),
  axis.text.x = element_text(size = 14),
  axis.title.y = element_text(size = 16))

次に、My_Themeをグラフに追加するだけです。

g + My_Theme
別のグラフg1がある場合は、次のように記述します。
g1 + My_Theme 
等々。

4

(ほぼ)すべてのテキスト要素のサイズを1か所で同期的に変更することrel()は非常に効率的です。
g+theme(text = element_text(size=rel(3.5))

最適な結果を得るには、数値を少し調整することをお勧めします。横軸と縦軸の両方のラベルとタイトル、およびその他のテキスト要素を同じ縮尺で設定します。1つの例外は、ファセットグリッドのタイトルです。たとえば、グラフでxファセットとyファセットの両方が使用されている場合は、手動で同じ値に設定する必要があります。
theme(text = element_text(size=rel(3.5)), strip.text.x = element_text(size=rel(3.5)), strip.text.y = element_text(size=rel(3.5)))

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.