web-dev-qa-db-ja.com

プロットラベルの式と改行

グラフのラベルに下付き文字と上付き文字を追加したいのですが。私はexpressionを試しましたが、新しい行(\n)。 pasteを使用して修正しようとしましたが、機能しません。以下は私の試みの一部です:

par(mfcol=c(1,3))
plot(1,1,main=expression("first line \n second line x"^2))
plot(1,1,main=expression(paste("first line \n second line", "x"^2)))
plot(1,1,main=paste("first line \n second line", expression("x"^2)))

それは生成します:

enter image description here

最初の2つの画像では、2番目の線が中央に配置されていません。3番目の画像では、上付き文字が失敗しています。中心線と下付き/上付きの両方を取得するにはどうすればよいですか?

16
Marta Cz-C

式の中に改行を入れることができます:

_bquote(atop("first line",
            "second line" ~ x ^ 2))
_

(ここではbquoteではなくexpressionを使用しています。この場合はどちらも機能します。)

詳細についてはdemo(plotmath)を実行し、atopのドキュメントをご覧ください。

boxplotは、タイトルの式を解釈するのに問題があるようです。簡単な修正は、タイトルを個別にプロットすることです:

_boxplot(data, main = '')
title(bquote(atop("first line", "second line" ~ x ^ 2)))
_
22
Konrad Rudolph

高速な解決策は、単語の「最初」の前にスペースを追加することです。

plotmathは改行をサポートしていないため、mtextを使用して次のように1つずつ行を作成できます。

plot(1,1)
exp <- 2
Lines <- list(bquote("first line"),bquote("second line x"^2))
mtext(do.call(expression, Lines),side=3,line=1:0)

enter image description here

8
agstudy