目录
1.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")
四、注意事项
·open(" ")内要输入想生成词云文本文件的完整路径
·imageio.imread(" ")内要输入词云外形图片的完整路径,如果一直不能形成外形,就抠图换纯色背景即可
·WordCloud(font_path=' ')若想用电脑里已有的某个字体,也是一样找到该字体的路径输入进去
·最后需要按模版图片颜色重新上色后再wc_color输出为图像文件
五、效果图展示
总结:希望可以去鹅厂,字节,阿里大厂实习工作(做梦),反正继续加油,继续努力,继续自律,继续坚持,继续奋斗叭。