ggplot无法识别多数Unicode字符的问题排查求助
解决RStudio中ggplot无法显示Unicode图形字符的问题
可行解决方案
切换绘图设备
RStudio默认绘图设备对部分Unicode字符支持有限,可尝试:- 安装并使用
ragg设备:先执行install.packages("ragg"),再在代码开头添加options(device = "ragg") - 修改RStudio全局设置:依次进入
Tools > Global Options > General > Graphics,将Backend设置为AGG或Cairo
- 安装并使用
指定支持Unicode的字体
给ggplot明确指定包含目标字符的字体,示例代码:library(ggplot2) ggplot(data.frame(x = 1, y = 1), aes(x, y)) + geom_text(label = "⚪", family = "Segoe UI Emoji", size = 10)可根据系统替换字体:Windows用
Segoe UI Symbol,macOS用Apple Color Emoji,Linux用Noto Color Emoji更新软件及依赖包
- 更新RStudio:点击
Help > Check for Updates完成版本升级 - 更新相关包:运行
update.packages(c("ggplot2", "grid", "ragg"))
- 更新RStudio:点击
临时使用外部绘图窗口
调用系统原生绘图窗口运行代码:# Windows/Linux x11() # macOS quartz()之后再执行ggplot代码,字符可正常显示
说明:仅RStudio内的ggplot出现该问题,单独运行R无异常,本质是RStudio的绘图渲染环境对Unicode字符的支持不足,而非R或ggplot本身的问题
内容的提问来源于stack exchange,提问作者Santiago Valdivieso
相关产品推荐
相关产品推荐

