1. 量身打造属于你的词云图
今天的Python案例是跟着笔者来打造属于自己的词云图。那么什么是词云图呢?我们在百度中来搜索一下,如图所示:
概念:词云图就是由词汇组成类似云的彩色图形。接下来我们就可以去为自己量身打造一张词云图了,但是笔者在这里的话就不拿自己的照片来进行演示了。最近很火的一部电影冰雪奇缘2,不知道大家有没有看过。无论是美轮美奂的画面质感,还是艾莎的造型如图1所示,都得到了众多人的喜爱,全球各地再度掀起了一股艾莎热潮。
接下来我们用Python来分析下这部电影的剧情并以艾莎为背景绘制词云图,效果如图2所示。
第一步:首先的话我们要准备一张遮照图,用来绘制词云的形状的,如果是想要拿自己的照片来做的话,一定要使用抠图技术将浓烈的背景换为纯色的背景。第二个的话就是我们需要准备相关的文本信息,文本信息越多,生成的图片信息越丰富。如图所示。
第二步:安装第三方模块,此次要使用到5个第三方模块,分别是matplotlib 数据可视化模块,numpy 数值计算模块,jieba 分词模块,wordcloud 词云模块,Pillow(PIL) 图像处理模块,如果不知道Pillow模块怎么使用的话,可以去看笔者的另一篇博文 图片转字符画,以上模块安装命令如下:
pip install --user -i http://pypi.douban.com/simple --trusted-host pypi.douban.com matplotlib
pip install --user -i http://pypi.douban.com/simple --trusted-host pypi.douban.com numpy
pip install --user -i http://pypi.douban.com/simple --trusted-host pypi.douban.com jieba
pip install --user -i http://pypi.douban.com/simple --trusted-host pypi.douban.com wordcloud
pip install --user -i http://pypi.douban.com/simple --trusted-host pypi.douban.com pillow
第三步:编写代码。主要是分为6个步骤,使用open()方法读取文本信息
读取遮照图片
生成词云图
显示词云图
使用jieba进行中文分词
设置词云图渲染颜色
示例代码如下:
import numpy as np
from PIL import Image # 导入PIL模块中的Image对象
import wordcloud # 导入词云模块
import matplotlib.pyplot as plt
import os
import jieba
from wordcloud import ImageColorGenerator
file_name = "elsa.txt"
pic_name = "elsa.png" # 你自己是什么文件名你就写什么文件名
# 判断文件是否存