制作词云图用python的wordcloud库即可,关键在于掌握参数设置和中文处理。步骤包括:1.安装库;2.加载文本并生成词云对象;3.显示或保存图片。中文支持需指定字体路径,并搭配jieba分词。自定义形状需导入遮罩图片,颜色可用colormap调整。其他技巧包括过滤停用词、限制最大词数、控制字体大小及保存图片。

制作词云图其实不难,用Python的话,最常用的就是 wordcloud 这个库。它功能强大、配置灵活,只要掌握了几个关键参数,就能做出漂亮的词云图。

首先得安装好库,可以用 pip 安装:
pip install wordcloud matplotlib
然后是基础代码结构,通常流程是:加载文本 → 生成词云对象 → 显示或保存图片。一个简单的例子如下:
立即学习“Python免费学习笔记(深入)”;

from wordcloud import WordCloud
import matplotlib.pyplot as plt
text = open('your_text_file.txt').read()
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)
plt.figure(figsize=(10,5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()这一步的关键在于确保文本格式正确,没有乱码。中文的话还需要设置字体,否则会显示方块。
默认情况下,WordCloud 不支持中文字体,所以会出现乱码或者空白。解决方法很简单:指定中文字体路径。

比如这样:
wordcloud = WordCloud(
font_path='/System/Library/Fonts/PingFang.ttc', # Mac系统示例路径
width=800,
height=400,
background_color='white'
).generate(text)Windows 用户可以找系统的字体文件,比如 C:\Windows\Fonts\simhei.ttf。如果不知道字体路径,可以在网上下载一个常用字体(如思源黑体)放到项目目录下直接引用。
另外,中文文本一般需要先做分词,不然会被当成连续字符处理。推荐搭配 jieba 使用:
import jieba
text = " ".join(jieba.cut(open('your_text_file.txt').read()))如果你不想只是矩形词云,还可以用自定义的遮罩形状。比如用一张心形图片作为轮廓:
需要用到 numpy 和 PIL 来读取图片:
import numpy as np
from PIL import Image
mask = np.array(Image.open("heart_shape.png"))然后把这个 mask 传给 WordCloud:
wordcloud = WordCloud(
mask=mask,
font_path='your_font_path',
background_color="white",
mode="RGBA" # 如果背景透明的话
).generate(text)颜色方面,默认是黑白,但你可以用 colormap 参数控制配色方案:
wordcloud = WordCloud(..., colormap='viridis')
也可以自己写一个函数来自定义颜色,更灵活。
stopwords 参数去掉。max_words=300。max_font_size 和 min_font_size 调整显示范围。wordcloud.to_file("output.png") 把结果保存下来。基本上就这些。操作不算复杂,但有些细节容易忽略,比如字体路径、中文分词、遮罩格式等。把这些搞清楚后,就能做出既好看又专业的词云图了。
以上就是如何用Python制作词云图?wordcloud配置指南的详细内容,更多请关注php中文网其它相关文章!
全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号