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、导出图片
*3、补充
3.1、原生词云图 (一行三个)
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 图片文件、保存出到当前文件夹中
标签:imageio,Python,photo,wordcloud,词云,自学,txt,模板,图片 来源: https://blog.csdn.net/weixin_51927215/article/details/114017492