【问题标题】:How to add a line break in a plot title that also contains a greek letter in R如何在 R 中还包含希腊字母的情节标题中添加换行符
【发布时间】:2012-03-04 23:05:01
【问题描述】:

这个问题感觉应该有一个直截了当的答案,但我似乎无法弄清楚,而且我第一次在互联网。

我有一个带有希腊字母(不是问题)和换行符(通常也不是问题)的情节标题。但不知何故,我无法让他们在一个情节标题中同时工作。

这段代码运行良好,只是它太长了:

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)

我尝试了各种表达、粘贴和替换的排列方式,但必须承认我对这些函数的确切工作原理的掌握并不完整。如果我能以不同的方式找到答案,我深表歉意。

欢迎提出任何想法。

谢谢!

【问题讨论】:

    标签: r character-encoding plot title line-breaks


    【解决方案1】:

    您考虑过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")
    

    【讨论】:

    • 比手动写出每一行要简单得多。你能以这种方式左对齐或右对齐,还是只居中?
    • 没有对齐参数,但是如果你想在表达式中移动东西,你可以在任一端添加phantom(".....")~~phantom(".....")。如果您希望基于nchar() 进行程序计算,则需要使用bquotesubstitute
    • !感谢您提供有关 atop 和引用文本的有用教程。
    猜你喜欢
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 2013-04-03
    • 2012-10-15
    • 2021-02-06
    • 2019-04-08
    • 2012-01-01
    相关资源
    最近更新 更多