You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言生成多语种词云时外文字符不显示,求解决方案

解决多语种词云字符不显示问题

核心原因

你的问题出在默认字体不支持非拉丁语系字符(比如中文、阿拉伯语、日语等),换用支持多语种的字体就能解决。

简单解决步骤

1. 安装并加载必要的包

先安装showtext包(用来加载自定义字体)和ggwordcloud(比原生geom_text_wordcloud更稳定):

install.packages(c("showtext", "ggwordcloud"))
library(showtext)
library(ggplot2)
library(ggwordcloud)

2. 加载支持多语种的字体

推荐用谷歌的Noto Sans字体(支持全球绝大多数语种),可以直接通过showtext在线加载:

# 在线加载Noto Sans字体
font_add_google("Noto Sans", "noto")
# 启用showtext,让ggplot能识别加载的字体
showtext_auto()

如果不想在线加载,也可以用系统自带的多语种字体:

  • Windows:用font_add("yahei", "simhei.ttf")(微软雅黑)
  • Mac:用font_add("pingfang", "PingFang SC.ttc")
  • Linux:先通过包管理器安装fonts-noto,再用font_add("noto", "Noto Sans")

3. 重新绘制词云

修改代码,指定字体为我们加载的字体:

set.seed(42)
data("thankyou_words_small")

ggplot(thankyou_words_small,
       aes(label = word, size = speakers, color = speakers)) +
  geom_text_wordcloud(area_corr = TRUE, rm_outside = TRUE, family = "noto") + # 指定加载的字体
  scale_size_area(max_size = 24) +
  theme_minimal() +
  scale_color_gradient(low = "darkblue", high = "lightblue")

额外提示

  • 如果仍有个别字符不显示,可换用更针对性的字体,比如Noto Sans CJK(专门适配中日韩字符)
  • 运行showtext_auto()后,后续的ggplot图表都会自动使用加载的字体,无需重复设置

内容的提问来源于stack exchange,提问作者Siobhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 08:20:31