在ggplot2标题表达式中使用italic()和变量

时间:2015-08-10 19:52:06

标签: r ggplot2 plotmath

当我使用ggplot2创建地图并尝试使用字符串expression()italic()的组合使图标题的一部分斜体化时,我的地图会根据需要显示:< / p>

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()

1 个答案:

答案 0 :(得分:6)

bquote或替补应该起作用,

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