web-dev-qa-db-ja.com

タイトルが変数名であるときにggplotにタイトルを追加する方法は?

Ggplotの最後で、これはうまく機能します。

+ opts(title = expression("Chart chart_title..."))

しかし、これはそうではありません:

chart_title = "foo"
+ opts(title = expression(chart_title))

これも:

chart_title = "foo"
+ opts(title = chart_title)

タイトルが変数名である場合、どのようにタイトルをggplotに追加できますか?

42
John

他の人が指摘したように、変数chart_titleが文字列または式である場合、あなたの例はうまくいくようです。タイトル変数を作成するのが難しい場合があります。たとえば、chart_titleが他の変数を使用し、さらにギリシャ文字を使用しているため、単純なpaste(...)では不十分な場合、混乱を招くシナリオが発生する可能性があります。そのようなタイトルを作成するには、次のようなものを使用できます。

_foo <- rnorm(100)
number <- 1
chart_title <- substitute(paste("Chart no. ",number,": ",alpha," vs ",beta,sep=""), list(number = number))
qplot(foo,foo) + opts(title = chart_title)
_

タイトルを作成するときに便利な別の関数はbquote()です。プログラムによるタイトルの作成は、面倒なビジネスになる可能性があります。 R FAQ 7.13( http://cran.r-project.org/doc/FAQ/R-FAQ.html )始めることができますが、それでもFAQは基本的に、疑問がある場合はR-Helpを検索するように指示します。

24
Leo Alekseyev

Optsは非推奨です。 1つのオプションは、labs()を使用することです

myTitle <- "My title"
qplot(mpg, wt, data = mtcars) + labs(title = myTitle)

ほぼ同じです。

28
Greg

再現可能な例を提供してください。次は私のためにうまくいきます:

title <- "My title"
qplot(mpg, wt, data = mtcars) + opts(title = title)

バージョン0.9.2以降、optsthemeによって replace になりました。

qplot(mpg, wt, data = mtcars) + theme(title = title)

また、?ggtitle

15
hadley