Шапочки в R легенда?

Это простой вопрос.

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

Я могу написать график с помощью tikzDevice и вручную изменить график на маленькие буквы в LaTex, но я хочу знать, возможно ли это в самом R?

Благодарю.

Это код R, который я использую до сих пор:

legend("bottomright", inset=.05, c(expression(Delta*ZRT1), expression(Delta*ZRT2)), lty=1:2, pch=1:2)

Это выражение LaTex, которое я пытаюсь найти в легенде R:

\Delta Z\textsc{rt\oldstylenums{1}}

1 ответ

Решение

Стандарт Unicode определяет количество символов "маленького прописного" в расширениях IPA. Например, используя этот генератор Smallcaps: http://fsymbols.com/generators/smallcaps/

plot(1L:10, main="Aʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘǫʀsᴛᴜᴠᴡxʏᴢ")
legend("bottomright", expression(\Delta Zʀᴛ1")

Начиная с Unicode 5.1, единственные символы, отсутствующие, чтобы разрешить представление полного латинского алфавита в маленьких заглавных символах Unicode, - это маленькие заглавные версии Q и X. См. Также здесь: http://en.wikipedia.org/wiki/Small_caps

Маленькие заглавные буквы, генерируемые Генератором Smallcaps, не работают для всех шрифтов. Например, семейство Linux Libertine (Libertine, Biolinum) имеет свои маленькие заглавные буквы и номера старого стиля в области личного использования Unicode (E000-F8FF), как показано здесь (последняя страница).

Приведенные ниже примеры графиков используют метки осей, собранные из генератора маленьких крышек, плюс small_caps а также small_nums Строка, собранная из личного пользования. Первый график использует Times New Roman, который работает с сгенерированными маленькими заглавными буквами, но не имеет соответствующих глифов в области частного использования. На втором графике используется Linux Libertine O, в котором нет всех символов Unicode из расширений IPA.

library(ggplot2)

x <- 1L:10
y <- 1L:10
df <- data.frame(x,y)

# assemble strings from Libertine's private use area.
small_caps <- "S\UE05D\UE051\UE05C\UE05C C\UE051\UE060\UE063"
small_nums <- "\UE020\UE021\UE022\UE023\UE024\UE025\UE026\UE027\UE028\UE029"

font <- "Times New Roman"
ggplot(df) +
  geom_point(aes(x = x, y = y)) +
  labs(x = paste("Sᴍᴀʟʟ Cᴀᴘs /", small_caps),
       y = paste("Oʟᴅ Sᴛʏʟᴇ", small_nums)) +
  theme(text = element_text(family = font)) +
  annotate("text", x = 2, y = 9, label = font)

font <- "Linux Libertine O"
ggplot(df) +
  geom_point(aes(x = x, y = y)) +
  labs(x = paste("Sᴍᴀʟʟ Cᴀᴘs /", small_caps),
       y = paste("Oʟᴅ Sᴛʏʟᴇ", small_nums)) +
  theme(text = element_text(family = font)) +
  annotate("text", x = 2, y = 9, label = font)

Создано 2018-12-08 пакетом представлением (v0.2.1)

Другие вопросы по тегам