【问题标题】:Adding greek character to axis title将希腊字符添加到轴标题
【发布时间】:2011-08-28 00:54:48
【问题描述】:

我想在 R 中的条形图的 y 轴上添加一个希腊字符。
问题是我需要将这个角色整合到标题中。我要写:

Diameter of aperture ("mu"m)

在轴标签中。

ylab=expression()

我可以写希腊字符,用

ylab="axis title"

我可以在单词之间使用适当的空格来写标题。

但是我找不到将所有这些放在一起并在轴标签中写一个带有希腊词的适当标签的方法。我希望我已经足够清楚了。

【问题讨论】:

    标签: r unicode labels plotmath


    【解决方案1】:

    我在使用带有合适 TrueType 字体的 Windows 10 和 R 3.62 上的帮助包 utf8 时,对上面 Chase 的绘图示例(从 2011 年)给出了更新的答案。 在我的回答中,我为 μ 赋值。我只是用十六进制 (??) 代码调用的 unicode 字符。空格只是引号内的“空格”。看我的回答here

    另请参阅: http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt

    utf8-package {utf8}

    # pi small case
    utf8_print("\u03C0")
    "π"
    # sigma small case
    utf8_print("\u03C3")
    "σ"
    
    μ <- abs(digamma(1))
    μseq <- seq(μ,3*μ,μ)
    dev.new()
    plot(μseq, ylab = "Diameter of apeture ( μ m)",
      , xlab = "Force spaces with ~ μ  \u03C0  \u03C3  \u03C0 ",
      , main = "This is another Greek character with space \u03C3")
    #
    

    【讨论】:

      【解决方案2】:

      latex2exp 应该更直接:

      require(latex2exp)
      plot(1, xlab = TeX('$\\mu$'))
      

      【讨论】:

      • 如果你习惯用 Latex 排版,这比表达式好用得多。谢谢
      【解决方案3】:

      而且,如果您处理的是估计数量,plotmath{grDevices} 还提供在您的希腊字母中添加帽子的可能性:

      ylab = expression(paste("Diameter of aperture ( ", hat(mu), " )"))
      

      hat() 中包含的 mu 可以解决问题。

      【讨论】:

        【解决方案4】:

        如果您想替换文本中的变量,请使用bquote。例如,如果您有一个变量 mu 并希望在标题中显示它,则使用以下成语:

        mu <- 2.8
        plot(1:3, main=bquote(mu == .(mu)))
        

        .() 中的部分将被替换,因此mu 的值将被打印,而不是希腊语“mu”字符。详情请参阅bquote 上的 R 帮助。

        【讨论】:

        • 这太完美了!正是我想要的
        【解决方案5】:

        我认为我正确地遵循了您的问题。 ~ 在对 expression() 的调用中强制在字符之间使用空格。这是你想要的吗?

        plot(1:3, ylab = expression("Diameter of apeture (" * mu ~ "m)"),
          , xlab = expression("Force spaces with ~" ~ mu ~ pi * sigma ~ pi)
          , main = expression("This is another Greek character with space" ~ sigma))
        

        【讨论】:

          【解决方案6】:

          如果您使用的是plotmath{grDevices},则主帮助页面 (plotmath) 会包含您想要的示例:

          xlab = expression(paste("Phase Angle ", phi))
          

          或者对于你的情况,我猜:

          ylab = expression(paste("Diameter of aperture ( ", mu, " )"))
          

          这对你有用吗?

          【讨论】:

          • 哦,确实如此!非常感谢:)
          猜你喜欢
          • 2019-02-06
          • 2016-02-26
          • 2012-10-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多