ファセットプロットでストリップテキストのサイズをどのように操作できるか疑問に思っています。私の質問は プロットタイトルに関する質問 に似ていますが、特にプロットタイトルではなく、ファセットタイトル(strip_h)に表示されるテキストの操作に関心があります。
例として、mpgデータセットを考えます。
library(ggplot2)
qplot(hwy, cty, data = mpg) + facet_grid( . ~ manufacturer)
結果の output は、ストリップに収まらないファセットタイトルを生成します。
ストリップテキストを処理するためにgrid
を使用する方法がなければならないと考えています。しかし、私はまだ初心者であり、 Hadleyの本 のgrid
付録からはわかりませんでした。また、間違ってやると洗濯機が壊れるのではないかと心配しました。すべての技術はフォースでつながっていると思うからです:-(
事前に感謝します。
たとえば、theme_text()
を使用してstrip.text.x
(またはstrip.text.y
)を変更できます。
qplot(hwy, cty, data = mpg) +
facet_grid(. ~ manufacturer) +
opts(strip.text.x = theme_text(size = 8, colour = "red", angle = 90))
更新: ggplot2バージョン> 0.9.1の場合
qplot(hwy, cty, data = mpg) +
facet_grid(. ~ manufacturer) +
theme(strip.text.x = element_text(size = 8, colour = "red", angle = 90))
最近ではopts
とtheme_text
は非推奨のようです。 Rは、theme
およびelement_text
。答えの解答はここにあります: http://wiki.stdout.org/rcookbook/Graphs/Facets%20%28ggplot2%29/#modifying-facet-label-text
qplot(hwy, cty, data = mpg) +
facet_grid(. ~ manufacturer) +
theme(strip.text.x = element_text(size = 8, colour = "red", angle = 90))
mpg
の例では、回転角度とフォントサイズを変更することは問題ありませんが、多くの場合、非常に長いラベルを持つ変数に気付くかもしれません。回転した長いラベルを読み取ろうとします。
そのため、角度とサイズの変更に加えて(または補完的に)、facet_grid
を定義する要因のラベルを、意味のある方法で分割できる場合は常に再フォーマットします。
通常、次のような文字列を持つdataset$variable
がある場合
c("median_something", "aggregated_average_x","error","something_else")
私は単純に:
reformat <– function(x,lab="\n"){ sapply(x, function(c){ paste(unlist(strsplit(as.character(c) , split="_")),collapse=lab) }) }
[おそらくreformat
のより良い定義がありますが、少なくともこれはうまく機能します。]
dataset$variable <- factor(dataset$variable, labels=reformat(dataset$variable, lab='\n')
また、ファセットを作成すると、すべてのラベルが非常に読みやすくなります。
ggplot(data=dataset, aes(x,y)) + geom_point() + facet_grid(. ~ variable)