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


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

Diameter of aperture ("mu"m)

В метки оси.

С

ylab=expression()

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

ylab="axis title"

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

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

5   51  

5 ответов:

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

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

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

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

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

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

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

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

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

enter image description here

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

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

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

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

The mu внутри hat() делает трюк.