当我使用 ggplot2 制作 map 并尝试使用字符串使用 expression()italic() 的组合将图标题的部分斜体化时,我的 map 会按需要出现:

plottitle <- expression(paste('Example map with ', italic('italics')))

crimes <- data.frame(state = tolower(rownames(USArrests)), USArrests)
states_map <- map_data("state")
map <- ggplot(crimes, aes(map_id = state)) +
  geom_map(aes(fill = Murder),
           map = states_map) +
  expand_limits(x = states_map$long,
                y = states_map$lat) +
  labs(title = plottitle)

map

但是,当我尝试执行相同的操作,但使用对象而不是字符串时,该对象的计算结果不为所需的字符串:
word <- 'italics'
plottitle2 <- expression(paste('Example map with ', italic(word)))

map <- ggplot(crimes, aes(map_id = state)) +
  geom_map(aes(fill = Murder),
           map = states_map) +
  expand_limits(x = states_map$long,
                y = states_map$lat) +
  labs(title = plottitle2)

map

如何在应用 word 之前获得要评估的向量 italic()

最佳答案

bquote 或替代应该工作,

 a = 'text'
 plot(1,1, main=bquote(italic(.(a))))
 plot(1,1, main=substitute(italic(x), list(x=a)))

关于r - 在 ggplot2 标题表达式中使用带有变量的 italic(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31927984/

10-12 12:39