如何在R中包含希腊字母的图表标题中添加换行符

3
这个问题看起来应该有一个简单的答案,但是我似乎无法弄清楚,而且第一次,在互联网上找不到其他人已经提出并得到答案的问题。我有一个带有希腊字母(没有问题)和换行符(通常也没有问题)的情节标题。但不知何故,我无法在单个情节标题中同时使用它们。这段代码很好用,只是太长了:
title1=expression(paste("Interannual variability in "*delta^13*"C ratios in fish samples"))
plot(1,1, main=title1)

这段代码同样有效,可以插入换行符,但是它没有希腊字母或上标:

title1=expression(paste("Interannual variability in d13C ratios \nin fish samples"))
plot(1,1, main=title1)

但是这段代码将“C比率”放在上一行,非常令人困惑。
title1=expression(paste("Interannual variability in "*delta^13*"C ratios\nin fish samples"))
plot(1,1, main=title1)

我尝试了各种表达、粘贴和替换的排列组合,但必须承认我的这些函数的确切工作方式掌握得不是很好。如果我能以其他方式找到答案,请接受我的道歉。

如果您有任何想法,都非常欢迎。

谢谢!

1个回答

5

您考虑过atop函数吗?(正如您发现的那样,plotmath不接受“\n”字符。)

title1=expression(atop(Interannual~variability~"in"~delta^13~C~ratios, 
                       "in"~fish~samples))
plot(1,1, main=title1)

唯一需要加引号的是"in",因为它是一个保留字。

(关于在哪里找到先前的讨论,r-help档案中应该已经有相关结果了。)

require(fortunes)
fortune("Liaw-Baron principle")

比手动逐行编写要简单得多。您可以左对齐或右对齐,还是只能居中? - John Colby
没有任何的对齐参数,但如果你想在表达式中移动元素,你可以在两端添加 phantom(".....")~ 或者 ~phantom(".....")。如果你希望这个操作基于 nchar() 进行程序计算,你需要使用 bquote 或者 substitute - IRTFM
感谢您提供关于 atop 和引用文本的有用教程。 - fredtal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接