相信大家经常看到一些非常炫酷的词云图,就是用大小不一的词语来组成一个图像。
网络上有为词云图进行定义:词云图由词汇组成类似云的彩色图形,用于展示大量文本数据。例如,制作用户画像,对用户进行聚类,实现精细化营销。
而用python,如何进行词云图的绘制呢,接下来我将附上我今年参加比赛进行人物画像分析部分的词云图,及其相关代码,一起来看一看吧!
本文使用了一些比较高级的方法,不再是普通的绘制词云图,而是使用图片遮罩,即从右边的图片里提取颜色,在相应的位置作出词云图,如左图所示
接下来,我们将准备好文本,读入系统,随后你就可以看到你的文本会被系统自动分割成词语
在上述代码中,我们安装了ImageColorGenerator,它是一个提取图片色彩的作用,这可以帮助我们创建与图像颜色匹配的词云图,也就是说,使用我们自己上传的彩色图像作为蒙版,将其颜色作为彩色映射,下面的代码就是进行这个操作
既然之前的源文本和色彩遮罩都已经设置好了,那么接下来就要对绘制的内容进行设置啦。下述代码是利用WordCloud对我们的词云图进行参数设置,具体对应内容如下:
background_color:背景颜色
font_path:字体(大家一定要根据自己电脑的系统设置格式,macOS和windows或许有不同)
relative_scaling:和字体大小的关联性
prefer_horizontal:表示在水平如果不合适,就旋转为垂直方向,该值越大,表示水平的词语越多
mask=character_mask:我们一开始设置的颜色遮罩
generate(mytext4):我们选定的绘制词云图的文本
其他参数大家根据英文名称也可以大致看出来,建议大家可以更具需求,多修改修改参数数值试一试,会有不同的发现,也可以更好的理解这些参数的意义,绘制出最合适的词云图
使用matplotlib.pyplot即可绘制出词云图,并将其保存在指定的位置里,命名为'图20.jpg',最后plt.show()就可以显示该词云图啦
当然如果大家觉得画出来的图有点单调,只能看出一个人形的话,我当时的操作是,和原图进行一个叠底,效果如下:
当然,这是我当时论文的需求,所以我这样操作了一下,感觉图片会更好看,最终做成什么效果还是看大家的需要。这篇文章就到这里啦,感谢您的阅读!
本文地址:http://xiaoguoguo.dbeile.cn/quote/1027.html 多贝乐 http://xiaoguoguo.dbeile.cn/ , 查看更多