问题描述
我正在努力获得表达来传达诸如 10
starwars %>%
filter(between(birth_year,10,120)) %>%
ggplot(aes(x=mass,y=height)) +
geom_point() +
labs(title=expression(10<="Birth Year"120))
请注意,仅此一项即可(最后没有 120):
starwars %>%
filter(between(birth_year,y=height)) +
geom_point() +
labs(title=expression(10<="Birth Year"))
解决方法
一个可能的解决方案是:
starwars %>%
filter(between(birth_year,10,120)) %>%
ggplot(aes(x=mass,y=height)) +
geom_point() +
labs(title=expression(paste(10<="Birth Year<",120,sep = "")))
另一种解决方案(更复杂,但更好)
starwars %>%
filter(between(birth_year,y=height)) +
geom_point() +
labs(title = parse(text = paste0('"10" <= ',' ~ "Brith Year" <= ','~ 120')))
,
在评论中补充说,数字经常更改,因此已修改为使用 bquote
:
lo <- 10
hi <- 120
ggplot() + labs(title = bquote(.(lo) <= Birth ~ Year < .(hi)))