在WordCloud模块中生成不同形状的词云图,可以通过使用mask功能来实现。首先,需要准备一张素材图片,如上图所示,网页搜的图片,有时间的话自己Ps扣一下背景图,这样显示的效果更好,该图片将被用作词云的形状。然后,使用imread函数从imageio库中导入该图片。接下来,使用WordCloud对象生成词云,然后使用to_file或to_array方法将生成的词云保存为图像。
涉及到的小知识点:
-
准备一个素材图片,背景为白色
-
open函数读取本地txt的方法
-
词云图相关模块的基本使用
01不按图片素材颜色生成词云图
# 导入词云制作库
import jieba
import wordcloud
import imageio
#读取本地图片,作为词云形状图片
mk = imageio.imread("刘亦菲.png")
w = wordcloud.WordCloud(mask=mk)
#构建词云对象w
w = wordcloud.WordCloud(background_color='white',
font_path='simkai.ttf',
mask=mk)
#读取txt文本数据
f = open('李白.txt',encoding='utf-8')
text= f.read()
text_list = jieba.lcut(text)
string = " ".join(text_list)
# 将string变量传入w的generate()方法,给词云输入文字
w.generate(string)
# 将词云图片导出到当前文件夹
w.to_file('词云图.png')
02按图片素材颜色生成词云图
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
# 1.定义文本内容
text='wdPython'
# 2.读取本地图片素材,作为词云形状图片
import imageio
mk = imageio.imread("刘亦菲.png")
# 3.构建词云对象w
wc = WordCloud(background_color="white",
mask=mk,
repeat=True,
font_path='simkai.ttf')
# 4.将text字符串变量传入w的generate()方法,给词云输入文字
wc.generate(text)
# 调用wordcloud库中的ImageColorGenerator()函数,提取模板图片各部分的颜色
image_colors = ImageColorGenerator(mk)
# 5.显示默认词云图、按素材颜色的词云图和素材图片,按左、中、右显示
fig, axes = plt.subplots(1, 3)
# 最左边的是默认词云图
axes[0].imshow(wc)
# 中间的是按素材颜色的词云图,采用双线性插值的方法显示颜色
axes[1].imshow(wc.recolor(color_func=image_colors), interpolation="bilinear")
# 右边是素材图片
axes[2].imshow(mk, cmap=plt.cm.gray)
for ax in axes:
ax.set_axis_off()
plt.show()
# 给词云对象按模板图片的颜色重新上色
wc_color = wc.recolor(color_func=image_colors)
# 6.将词云图片导出到当前文件夹
wc_color.to_file('词云图.png')
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板
