【Python】文本数据可视化——词云【谦友限定版】

目录

 一、四个做词云需要的库

1.wordcloud库(词云库-可智能进行分词和词频统计)

2.imageio库(可读取外部词云形状图片) 

3.jieba库(中文分词库)

4.matplotlib库(绘图库)

python国内镜像源

二、wordcloud配置对象参数

三、图片模版填色词云——根据图片颜色对应填充到词云里

 四、注意事项

五、效果图展示



前言:这是第一次自己写博客,记录一下用pycharm做词云的过程,同时希望可以借助平台与更多的伙伴交流,提升自己的编程能力。以后的日子里,我将与大家一同努力,一定要自律自律!互关共勉。



         资料收集:你想做什么样的词云你就需要查找与其主题相关的文章与资料,将它放入一个txt文件里。我就在知网上找了相关的资料,以及在薛之谦本人微博和超话里收集了一些资料放在文本文件里。


 一、四个做词云需要的库

1.wordcloud库(词云库-可智能进行分词和词频统计)

pip install wordcloud

·如果macos系统一直安装不上去可以试试下面的代码

python3 -m pip install wordcloud

2.imageio库(可读取外部词云形状图片) 

·安装代码与上面相同

3.jieba库(中文分词库)

·最常用的模式:精确模式(无冗余):jieba.lcut('输入你想要分词的句子')

·安装与上面相同

4.matplotlib库(绘图库)

·需要用到matplotlib.pyplot-每个pyplot函数对一个图进行一些更改,例如,创建图,设置横纵坐标等。

*如果安装一直报错可以试试镜像安装

pip install [库名] -i [镜像源网址]

比如安装wordcloud库:

pip install wordcloud -i https://pypi.tuna.tsinghua.edu.cn/simple

python国内镜像源

清华大学: https://pypi.tuna.tsinghua.edu.cn/simple
阿里云: http://mirrors.aliyun.com/pypi/simple/

中国科学技术大学: http://pypi.mirrors.ustc.edu.cn/simple/
华为镜像源 : https://mirrors.huaweicloud.com/
浙江大学开源镜像站: http://mirrors.zju.edu.cn/

腾讯开源镜像站: http://mirrors.cloud.tencent.com/pypi/simple
豆瓣: http://pypi.douban.com/simple/
网易开源镜像站: http://mirrors.163.com/
搜狐开源镜像: http://mirrors.sohu.com/ 


二、wordcloud配置对象参数

w = wordcloud.WordCloud()

·w.generate():向WordCloud对象w中加载文本.txt

·w.to_file():将词云输出为图像文件,.png或.jpg格式

·WordCloud(width=1000):指定词云对象生成图片的宽度,默认400像素

·WordCloud(height=700):指定词云对象生成图片的高度,默认200像素

·WordCloud(font_path="msyh.ttc"):指定字体文件的路径,默认None

·WordCloud(max_words=400):指定词云显示的最大单词数量,默认200

·WordCloud(stop_words="hello"):指定词云的排除词列表,即不显示的单词列表

·WordCloud(background_color="white"):指定词云图片的背景颜色,默认为黑色

·WordCloud(mask=mk):指定词云形状,默认为长方形。需要引用imread()函数 >>>from scipy.misc import imread >>>mk=imread("triangle.png")

·WordCloud(contour_width=1):指定词云轮廓宽度

·WordCloud(contour_color='black'):指定词云轮廓颜色

·WordCloud(scale=15):指定词云图像密度,值越大图像密度越大越清晰,默认值1


三、图片模版填色词云——根据图片颜色对应填充到词云里

import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
import imageio
text = open("/Users/huangbowen/Documents/Python/薛之谦.txt").read()
mk = imageio.imread("/Users/huangbowen/Desktop/x.png")
wc = WordCloud(font_path="/Users/huangbowen/Library/Fonts/SmileySans-Oblique.otf",
width=1000,
height=700,
background_color="white",
mask=mk,
max_words=400,
contour_width=2,
contour_color='black',
stopwords={'薛之谦', '获奖', '奖项名称', '获奖结果', '获奖作品', '获奖时间',
'发行专辑', '推出单曲', '2007年', '2012年', '2005年', '2008年',
'2019年', '2013年', '参加', '12月31日', '2016年', '随后',
'他说', '8月', '10月', '2006年', '人物', '凭借专辑', '朋友', '专辑',
'2020年', '7月', '同年', '就是', '新歌', '他', '演', '你', '提名'},
scale=15)
wc.generate(text)
# 调用wordcloud库中的ImageColorGenerator()函数,提取模板图片各部分的颜色
image_colors = ImageColorGenerator(mk)
# 显示原生词云图、按模板图片颜色的词云图和模板图片,按左、中、右显示
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)
wc_color.to_file("/Users/huangbowen/Desktop/xue.png")

【Python】文本数据可视化——词云【谦友限定版】_第1张图片


 四、注意事项

·open(" ")内要输入想生成词云文本文件的完整路径

·imageio.imread(" ")内要输入词云外形图片的完整路径,如果一直不能形成外形,就抠图换纯色背景即可

·WordCloud(font_path=' ')若想用电脑里已有的某个字体,也是一样找到该字体的路径输入进去

·最后需要按模版图片颜色重新上色后再wc_color输出为图像文件


五、效果图展示

【Python】文本数据可视化——词云【谦友限定版】_第2张图片

总结:希望可以去鹅厂,字节,阿里大厂实习工作(做梦),反正继续加油,继续努力,继续自律,继续坚持,继续奋斗叭。

【Python】文本数据可视化——词云【谦友限定版】_第3张图片

你可能感兴趣的:(python,开发语言,信息可视化)