Python wordcloud 库 自学7

词云按模板填色

1、源代码

from wordcloud import WordCloud, ImageColorGenerator
# 导入绘图第三方库 matplotlib 和词云制作第三方库 wordcloud

txt = open("小王子.txt").read()
# 将外部文本存储在变量 txt 中

import imageio
# 导入处理图片输入输出第三方 imageio 库
photo = imageio.imread("alice_color.png")
# 利用 imageio 库中的 imread 函数读取本地图片并将此图片对象传递给参数 photo

w = WordCloud(background_color="white", mask=photo)
# 构建并配置词云对象 w

w.generate(txt)
# 将 txt 变量传入 w 的 generate() 方法

image_colors = ImageColorGenerator(photo)
# 调用 wordcloud 库中的 ImageColorGenerator 函数、提取模板图片各部分的颜色

w.recolor(color_func=image_colors)
# 给词云对象按模板图片的颜色上色

w.to_file("wordcloud10.png")
# 将生成的词云保存为 wordcloud10.png 图片文件、保存出到当前文件夹中

3、导出图片

Python wordcloud 库 自学7

*3、补充

3.1、原生词云图 (一行三个)

Python wordcloud 库 自学7

3.2、源代码

import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
# 导入绘图第三方库 matplotlib 和词云制作第三方库 wordcloud

txt = open("小王子.txt").read()
# 将外部文本存储在变量 txt 中

import imageio
# 导入处理图片输入输出第三方 imageio 库
photo = imageio.imread("alice_color.png")
# 利用 imageio 库中的 imread 函数读取本地图片并将此图片对象传递给参数 photo

w = WordCloud(background_color="white", mask=photo)
# 构建并配置词云对象 w

w.generate(txt)
# 将 txt 变量传入 w 的 generate() 方法

image_colors = ImageColorGenerator(photo)
# 调用 wordcloud 库中的 ImageColorGenerator 函数、提取模板图片各部分的颜色

fig, axes = plt.subplots(1, 3)
# 显示原生词云图 (一行三个)、按模板图片颜色的词云图和模板图片、按左、中、右显示

axes[0].imshow(w)
# 最左边的图片显示原生词云图
axes[1].imshow(w.recolor(color_func=image_colors), interpolation="bilinear")
# 中间的图片显示按模板图片颜色生成的词云图,采用双线性插值的方法显示颜色
axes[2].imshow(photo, cmap=plt.cm.gray)
# 右边的图片显示模板图片
for ax in axes:
    ax.set_axis_off()
plt.show()

w.recolor(color_func=image_colors)
# 给词云对象按模板图片的颜色重新上色

w.to_file("wordcloud10.png")
# 将生成的词云保存为 wordcloud10.png 图片文件、保存出到当前文件夹中
上一篇:day2


下一篇:SpringBoot-(9)-MyBatis 操作数据库