Python 词云库 wordcloud 中文显示问题详解
wordcloud 是基于 Python 开发的词云生成库,功能强大且使用简单。默认情况下,wordcloud 不支持显示中文,中文会被显示为方框。
安装
推荐使用 pip 进行安装:
pip install wordcloud
解决中文显示问题
不支持显示中文的原因是 wordcloud 的默认字体不支持中文。解决方法是设置一种支持中文的字体。
- 在系统中找到支持中文的字体文件(例如 Windows 下的 simhei.ttf 或 simfang.ttf)。
- 在初始化 WordCloud 类时,通过 font_path 参数指定字体文件的绝对路径。
代码示例
以下代码演示了在 Windows 环境下,使用仿宋字体生成包含中英文混合内容的词云图。
# -*- coding: utf-8 -*-
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取文本或使用字符串
text = open("test.txt").read()
# 或者直接使用字符串
# text = """
# The Zen of Python by Tim Peters.
# 美丽胜于丑陋。显式胜于隐式。
# Simple is better than complex.
# """
# 设置字体路径,需确保路径存在且字体支持中文
font = r'C:\Windows\Fonts\simfang.ttf'
wc = WordCloud(collocations=False, font_path=font, width=1400, height=1400, margin=2).generate(text.lower())
plt.imshow(wc)
plt.axis("off")
plt.show()
wc.to_file('show_Chinese.png') # 保存词云图
运行上述代码后,生成的词云图将正确显示中文字符。


