При использовании пакета единиц измерения, как я могу получить метки единиц на осях для отображения в виде греческих букв? - PullRequest
1 голос
/ 15 апреля 2020

Пакет единиц в R очень полезен при преобразовании единиц и может использоваться для построения базового графика и использования комбо ggplot + ggforce. Однако в текущей форме единицы, которые должны включать греческие буквы, не набраны правильно. Можно ли отобразить на графике греческие буквы в единицах измерения с помощью пакета единиц измерения?

library(units)
library(ggplot2)
library(ggforce)

df = cars
df$Distance = set_units(df$dist, ft)/1000
df$Speed = set_units(df$speed, mph)

qplot(x=Speed, y=Distance, data=df) +
  scale_y_unit(unit = "um") 
# The Y-axis labels uses the latin u instead of the Greek mu

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Этот ответ показывает, как использовать греческие буквы в ggplot. mu можно добавить к метке оси y с помощью expression

ggplot(df, aes(x=Speed, y=Distance)) +
  geom_point() +
  scale_y_unit(name = expression(paste("Distance [", mu, "m]")), unit = "um")

Однако исходный текст [um] в метке удалить нельзя. scale_*_unit добавить [<unit>] к метке оси по умолчанию.

0 голосов
/ 16 апреля 2020

Теперь можно вставлять греческие буквы непосредственно в код R, который должен позволять иметь греческие буквы на осях.

qplot(x=Speed, y=Distance, data=df) +
  scale_y_unit(unit = "μm")

Это не сработало для меня с версией R 3.5.1 (2018-07-02) (см. Сообщение об ошибке ниже). В этом случае обновите установку R.

Error: In ‘µm’, ‘µm’ is not recognized by udunits.
See a table of valid unit symbols and names with valid_udunits().
Add custom user-defined units with install_symbolic_unit().

Кредиты Эдзеру Пебесме для поиска решения (см. https://github.com/r-quantities/units/issues/238)

...