R 向轴标题添加希腊字符和星号(*)

R 向轴标题添加希腊字符和星号(*),r,label,R,Label,我想在R中直方图的x轴上添加一个希腊字符。 我可以单独写希腊字符,也可以写带帽子的字符,但问题是我需要这个字符带有帽子和星号()。更具体地说,我想要类似帽子(phi^)的东西。以下是我所做的: x = rnorm(1000) hist( x, nclass = 100, cex.lab=1.5, xlab = expression(hat(phi^*)), ylab="Frequency", main="", cex.axis=1.5 ) 谢谢。这是我找到的最漂亮的解决方案: hist( x

我想在R中直方图的x轴上添加一个希腊字符。 我可以单独写希腊字符,也可以写带帽子的字符,但问题是我需要这个字符带有帽子和星号()。更具体地说,我想要类似帽子(phi^)的东西。以下是我所做的:

x = rnorm(1000)
hist( x, nclass = 100, cex.lab=1.5, xlab = expression(hat(phi^*)), 
ylab="Frequency", main="", cex.axis=1.5 )

谢谢。

这是我找到的最漂亮的解决方案:

hist( x, nclass = 100, cex.lab=1.5, xlab = expression(hat(phi)~"*"), 
      ylab="Frequency", main="", cex.axis=1.5 )


我不知道有什么好看的带底图函数的解决方案。我认为@Maurits-Evers方法是在结果的复杂性和美观性之间的最佳折衷

tools::texi2dvi("plot_test.tex", pdf=TRUE)
system(paste(getOption('pdfviewer'), "plot_test.pdf"))
但无论如何,这里有一个更“高级”的解决方案(可能有点过头了,但好吧…)。它基于以下博客文章:

要使其正常工作,您需要安装
tikzDevice
软件包

首先,加载包并创建数据集

library(tikzDevice)
library(ggplot2)
dat <- data.frame(x = rnorm(1000))
然后,您可以直接将LaTeX代码复制或调用到您自己的LaTeX文档中(这样就不需要
standAlone=TRUE
参数),也可以使用这两个非常有用的函数生成pdf版本并查看结果

tools::texi2dvi("plot_test.tex", pdf=TRUE)
system(paste(getOption('pdfviewer'), "plot_test.pdf"))

使用
ggplot2
而不是基本R如何。然后可以使用
latex2exp::TeX
在轴标签中使用(某些)LaTeX表达式

set.seed(2018)
x = rnorm(1000)

library(ggplot2)
library(latex2exp)

ggplot(data.frame(x = x), aes(x)) +
    geom_histogram(bins = 100) +
    theme_minimal() +
    xlab(TeX("$\\widehat{\\phi^*}$"))


您需要使用额外的反斜杠来转义反斜杠,并将数学表达式包装在
$
分隔符中(就像在常规的LaTeX内联数学中一样)。我使用了
\widehat{}
,但您也可以使用
hat{}

谢谢你的帮助,但是我希望*是隐藏的。也许
表达式(hat(phi^'*')