如何在R语言grid.arrange()的标签中使用希腊字母Delta
解决方案
gridExtra::grid.arrange()的边注参数原生支持R的plotmath公式语法,不需要额外依赖其他工具包,直接把需要显示希腊字母的参数值换成plotmath表达式,用内置的Delta指代大写希腊字母Δ即可。
基础实现
直接把left参数的普通字符串替换为paste(Delta, "Score"),就能实现把原文本里的"Change in"替换为Δ的效果,完整代码如下:
grid.arrange( plot1, plot2, legend, ncol = 3, top = "Change in Score", left = paste(Delta, "Score") )
自定义样式实现
如果需要调整左侧标注的字号、旋转角度、字体粗细等样式,可以用grid包的textGrob()自定义标注对象后传入left参数,可控性更高:
library(grid) # 调用textGrob、gpar函数前需加载grid包 grid.arrange( plot1, plot2, legend, ncol = 3, top = "Change in Score", left = textGrob( label = paste(Delta, "Score"), rot = 90, # 左侧标注默认纵向旋转90度,可按需修改旋转角度 gp = gpar( fontsize = 12, # 自定义标注字号 fontface = "bold" # 可选设置加粗、斜体等字体样式 ) ) )
注意事项
- 不建议直接在字符串中输入Δ字符,不同系统、不同绘图设备的字符编码规则不同,很容易出现乱码,用plotmath内置的
Delta生成符号是全环境兼容的稳妥方案 - plotmath语法中首字母大写的
Delta对应大写希腊字母Δ,小写delta对应小写希腊字母δ,注意区分大小写 - 如果需要给Δ单独设置样式,可以把对应部分套在样式函数里,比如
paste(bold(Delta), " Score")就能得到加粗的Δ符号
内容的提问来源于stack exchange,提问作者Mr. George
相关产品推荐
相关产品推荐

