如何在ggdraw+draw_label生成的ggplot标题中斜体化部分文本?
解决ggplot批量绘图中标题分类单元斜体的问题
在批量绘制ggplot图形的场景中(通过for循环生成图形,用ggdraw()+draw_label()单独添加标题,最终用plot_grid()组合),若需要将标题里的分类单元名称(来自full_taxa_names列表)设置为斜体,常规方法会遇到问题:
- 使用
expression()会直接输出变量名,而非列表中的实际值 - 直接用
bquote()结合列表时,无法正确解析列表内容
解决方案
- 先将列表转换为字符向量,规避列表解析的问题:
taxa1 <- as.character(full_taxa_names[taxa]) region1 <- as.character(full_region_names[Region])
- 再通过
bquote()结合paste()和italic()实现带斜体格式的标题:
ggdraw() + draw_label(label = bquote(paste(italic(.(taxa1)), " in ", .(region1), " in ", .(season))), size = 18)
注:full_taxa_names为分类单元名称列表,full_region_names为区域名称列表,season是字符型季节向量。
内容的提问来源于stack exchange,提问作者FishyFishies
相关产品推荐
相关产品推荐

