Jupyter notebook使用IRkernel运行R绘图时希腊字母无法渲染求助
问题原因
该问题是IRkernel默认使用的内置绘图设备未配置支持plotmath表达式的字体导致的:终端R运行时调用的是系统原生图形设备,自带希腊字母等数学符号的字体映射,所以可以正常渲染;而Jupyter环境下IRkernel默认的png绘图设备未继承该配置,因此expression内的希腊字母无法正常显示。
解决方案
方案1:单次运行生效
在绘图代码前添加以下配置代码,指定使用Cairo绘图设备渲染图像即可:
library(Cairo) options(jupyter.plot_mimetypes = "image/png") options(device = function(...) CairoPNG(..., family = "sans"))
配置完成后再运行你的绘图代码,希腊字母即可正常渲染。
如果需要更高清的矢量图输出,也可以将输出格式改为svg,也可解决渲染问题:
options(jupyter.plot_mimetypes = "image/svg+xml")
方案2:全局生效
如果希望每次打开Jupyter使用IRkernel时都自动生效,可以将上述配置代码添加到R的启动配置文件中:
- 找到R安装目录下
etc/Rprofile.site文件,或者个人用户目录下的.Rprofile文件 - 将配置代码写入文件末尾,保存后重启Jupyter即可。
内容的提问来源于stack exchange,提问作者Francesco Musso
相关产品推荐
相关产品推荐

