Подтвердить что ты не робот

Добавление греческого символа в заголовок оси

Я хочу добавить греческий символ к оси y моего барплота в R.
Проблема в том, что мне нужно, чтобы этот символ был включен в заголовок. Я хочу написать:

Diameter of aperture ("mu"m)

в метке оси.

С

ylab=expression()

Я могу написать греческий символ,

ylab="axis title"

Я могу написать заголовок с правильными пробелами между словами.

Но я не могу найти способ объединить все это и написать соответствующую метку с греческим словом в метке оси. Надеюсь, я был достаточно ясным.

4b9b3361

Ответ 1

Если вы используете plotmath{grDevices}, основная страница справки (plotmath) содержит пример того, что вам кажется нужным:

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

или для вашего случая, я думаю:

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

Это работает для вас?

Ответ 2

Я думаю, что правильно следил за твоим вопросом. ~ заставляет пробел между символами при вызове 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))

enter image description here

Ответ 3

И если вы хотите заменить переменные в тексте, используйте bquote. Например, если у вас есть переменная mu и вы хотите показать ее в заголовке, используйте следующую идиому:

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

Часть, заключенная в .(), будет заменена, так что будет напечатано значение mu, а не греческий символ "mu". Подробнее см. Справку R bquote.

enter image description here

Ответ 4

Это должно быть гораздо более прямолинейным с помощью latex2exp:

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

Ответ 5

И, если вы имели дело с оценочным количеством, plotmath{grDevices} также предлагает возможность добавить шляпу к вашей греческой букве:

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

mu, заключенный в hat(), выполняет трюк.