目录
第一种:使用 pyecharts
库生成词云
1. 安装 pyecharts
库:
pip install pyecharts
2.导入必要的库:
from pyecharts import options as opts
from pyecharts.charts import WordCloud
3.准备词频数据:
data = [
("Apple", 100),
("Banana", 80),
("Orange", 60),
# ...
]
4.创建词云图对象:
wordcloud = (
WordCloud()
.add("", data, word_size_range=[20, 100])
.set_global_opts(title_opts=opts.TitleOpts(title="词云图"))
)
`add`方法中常用的参数介绍:
- `series_name`:图例名称,用于标识不同的词云数据系列。
- `data_pair`:词云图的数据项,包括词语和对应的权重。可以使用列表或元组的形式传入,例如 `[('词语1', 100), ('词语2', 80), ('词语3', 60)]`。
- `word_size_range`:词语的字体大小范围,可以使用列表或元组的形式传入,例如 `[20, 80]`。其中,第一个值表示最小字体大小,第二个值表示最大字体大小。
- `shape`:词云图的形状,默认为"circle"。可以设置为"circle"、"cardioid"、"diamond"、"triangle-forward"、"triangle"、"pentagon"、"star"等等。
- `textstyle_opts`:词语的样式配置,可以设置字体、颜色、粗细等。例如`opts.TextStyleOpts(font_family="微软雅黑", color="rgba(0, 0, 0, 0.65)")`可以设置字体为"微软雅黑"、颜色为黑色透明度为0.65。
- `emphasis_textstyle_opts`:强调显示词语的样式配置,可以设置字体、颜色、粗细等。与`textstyle_opts`类似,但用于显示权重较大的词语。
5.渲染生成词云图并保存到本地:
wordcloud.render("wordcloud.html")
注:"wordcloud.html"为当前代码所在目录下保存文件(相对路径),可以自己设置路径保存。
6.使用浏览器打开HTML文件:
第二种:使用第三方库WordCloud生成词云
1.安装wordcloud库:
pip install wordcloud
2.导入必要的库:
import matplotlib.pyplot as plt
from wordcloud import WordCloud
from PIL import Image
import imageio.v2 as imageio
3.准备词频数据:
data = {
"Apple": 100,
"Banana": 80,
"Orange": 60,
# ...
}
4.创建词云图对象
fig = plt.figure(figsize=(8, 6), dpi=200)
# 词云形状图片加载(默认矩形)
pic = imageio.imread(r'./ma.png')
# 创建词云对象
wordcloud = WordCloud(font_path = "./msyh.ttc", background_color="white", mask = pic).fit_words(data)
# 绘制词云
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
wordcloud.to_file('wordcloud.png') # 保存词云为图片
wordcloud的参数 :
- font_path:字体路径,可以去 C:\Windows\Fonts 选择一种字体,复制粘贴到与代码同一目录,如果没有字体上载,有可能会显示不出来;
- mask:词云形状,默认为矩形。通过imageio.imread(r'./ma.png')加载自己下载的图片(白底黑图,如下图);
- background_color:背景颜色,默认黑色。
5.渲染生成词云图并保存到本地