r - 在 ggplot2 标题表达式中使用带有变量的 italic()

标签 r ggplot2 plotmath

当我使用 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/

相关文章:

R - 使用 ggplot2 在 x 轴上绘制儒略日

r - 在 heatmap.2 中将行标签设为斜体

r - 使用 roxygen 的内联包概述文档

r - 如何通过配对列来对数据框进行子集化

r - 双向密度图与 r 中选定区域的单向密度图相结合

r - 将表达式对象组合成 ggplot 标签的单个文本字符串

r - 如何连续使用多个表达式

r - 使用 annotate 向 ggplot2 添加粗体女性符号

r - 在 Matlab 中调用 R 脚本

r - 如果一个变量在一组中相等,则计算组的 ID