如何在ggplot2中使用希腊符号?

时间:2011-03-14 01:02:49

标签: r graphics unicode utf-8 ggplot2

我的类别需要用希腊字母命名。我正在使用ggplot2,它可以很好地处理数据。不幸的是,我无法弄清楚如何将这些希腊符号放在x轴(刻度线)上,并使它们出现在图例中。有没有办法做到这一点?

更新: 我看了link,然而,没有好的方法来描述我想要做的事情。

3 个答案:

答案 0 :(得分:129)

这是一个优秀wiki的link,解释了如何在ggplot2中添加希腊符号。总之,以下是您获取希腊符号的方法

  1. 文字标签:parse = Tgeom_text内使用annotate
  2. 轴标签:使用expression(alpha)获取希腊字母。
  3. 方面标签:labeller = label_parsed内使用facet
  4. 图例标签:在图例标签中使用bquote(alpha == .(value))
  5. 您可以在链接

    中查看这些选项的详细用法

    EDIT。沿着刻度标记使用希腊符号的目的可以如下实现

    require(ggplot2);
    data(tips);
    p0 = qplot(sex, data = tips, geom = 'bar');
    p1 = p0 + scale_x_discrete(labels = c('Female' = expression(alpha),
                                          'Male'   = expression(beta)));
    print(p1);
    

    有关执行此操作时可用的各种符号以及如何使用它们的完整文档,请参阅?plotmath

答案 1 :(得分:29)

使用expression(delta)其中'delta'代表小写δ和'Delta'获取大写Δ

以下是希腊字符的完整列表:

  

Ααalpha
  βββ
   Γγ伽
   Δδdela    Εεepilon
  Ζζzeta
  Ηη他们   Θθtheta
  Ιιiota
  Κκkappa
  Λλlambda
  Μμ亩
  Ννnu   Ξξxi   Οοomicron
  Ππpi
  Ρρrho
  Σσsigma
  ττtau
  υυupilon
  Φφphi
  Χχ池   Ψψpsi
  Ωωmega

编辑:从评论中复制,与其他字词结合使用时请使用:expression(Delta*"price")

答案 2 :(得分:10)

您不需要latex2exp包来执行您想要执行的操作。以下代码可以解决问题。

ggplot(smr, aes(Fuel.Rate, Eng.Speed.Ave., color=Eng.Speed.Max.)) + 
  geom_point() + 
  labs(title=expression("Fuel Efficiency"~(alpha*Omega)), 
color=expression(alpha*Omega), x=expression(Delta~price))

enter image description here

此外,一些评论(此时尚未回答)询问在希腊字母后加上星号(*)。 expression(alpha~"*")有效,所以我建议尝试一下。

有关获取Δ Price的更多评论,我发现实现这一目标的最简单方法是expression(Delta~price))。如果你需要在希腊字母之前添加一些东西,你也可以这样做: 获得你的expression(Indicative~Delta~price)

enter image description here