当前位置:   article > 正文

python绘制词云图的心得体会,python如何制作词云图_用代码生成词云

用代码生成词云

大家好,小编来为大家解答以下问题,基于python的词云生成及可视化,python制作词云图片的三个步骤,今天让我们一起来看看吧!

今天手把手教大家用python制作词云,图片的效果如下:
在这里插入图片描述

首先,需要准备的操作是:
1、安装好python3系列版本
2、安装python第三方库wordcloud;(本条及以下第三方库安装,请参考我的这篇文章python第三方库怎么安装?第三方库安装成功却运行不出报错不能用?)
3、安装numpy、pillow库。
4、安装jieba库
5、安装matplotlib库

第2步中的 wordcloud 安装成功之后,numpy、pillow库会被自动安装,
安装完wordcloud库之后,若打开cmd,输入pip list 找到了以上步骤3~5中提到的第三方库,
便不需再次手动安装,若未找到,即需要手动安装,请参考python第三方库怎么安装?第三方库安装成功却运行不出报错不能用?这篇文章

温馨提示,如出现安装成功却无法在编译器中导入第三方库的情况,请检查自己的电脑是否装了多个版本的python,如是,请卸载不需要的版本,尽可能只保留一个最新的版本用python绘制精灵球扔向皮卡丘

完成以上步骤之后,下面我来讲一下如何制作最开始提到的两张词云
一、第一张:
在这里插入图片描述

生成词云时,wordcloud 默认会以空格或标点为分隔符对目标文本进行分词处理。
对于中文文本,分词处理需要由用户来完成。
一般步骤是先将文本分词处理,然后以空格拼接,再调用wordcloud库函数。
处理中文时还需要指定中文字体。
例如,选择了微软雅黑字体(msyh.ttf)作为显示效果,需要将该字体文件与代码存放在同一目录下或在字体文件名前增加完整路径。

1、打开自己电脑C:\Windows\Fonts
在这里插入图片描述
2、选择微软雅黑字体(msyh.ttf)作为显示效果(当然也可以选择自己喜欢的字体样式)
右键复制,并将该字体文件与代码存放在同一目录下(或在字体文件名前增加完整路径),
将此文字文件命名为"msyh.ttf"
在这里插入图片描述

3、完整代码如下,

  1. import jieba
  2. from wordcloud import WordCloud
  3. txt = '弱小的人,才习惯,嘲讽和否定,而内心,强大的人,从不吝啬赞美和鼓励!我们就是后浪,奔涌吧!后浪,奔涌吧!'
  4. words = jieba.lcut(txt) #精确分词
  5. newtxt = ''.join(words) #空格拼接
  6. wordcloud = WordCloud(font_path = "msyh.ttf").generate(newtxt)wordcloud.to_file('中文词云图.jpg')

运行成功,(红色不代表报错哦)
在这里插入图片描述
4、最后去存放代码的那个文件夹下查找 生成的“中文词云图.jpg”文件。(每次生成的都是随机的)
在这里插入图片描述
二、第二张:
接下来讲一下如何生成带背景图的词云

1、准备一张带有透明背景的 png格式图片
2、准备一个txt文本文件,并与代码存放在同一目录下

1、找到一张图片,我们发现这张是有黄色背景的,于是我们需要把背景设置成透明的。
在这里插入图片描述
打开PS操作一下,当然你也可以直接在网上下载透明背景的图片。
在这里插入图片描述
这是我扣好的图,需要自取,直接右键保存,将文件名命名为Alice.png

再将此文件与代码文件存在同一目录下
在这里插入图片描述
2、准备一个txt文本文件(文件内容是一篇英文),并命名为Alice.txt

再将此文件与代码文件存在同一目录下
在这里插入图片描述

3、复制完整代码,直接运行即可

  1. from wordcloud import WordCloud
  2. import matplotlib.pyplot as plt
  3. from PIL import Image
  4. import numpy as np
  5. mask = np.array(Image.open("Alice.png"))
  6. f = open('Alice.txt','r',encoding = 'utf-8')
  7. txt = f.read()
  8. f.close
  9. wordcloud = WordCloud(background_color="white",\
  10. width = 800,\
  11. height = 600,\
  12. max_words = 200,\
  13. max_font_size = 80,\
  14. mask = mask,\
  15. contour_width = 3,\
  16. contour_color = 'steelblue'
  17. ).generate(txt)
  18. wordcloud.to_file('Alice_词云图.png')

4、在代码所在文件夹内,找到文件 Alice_词云图.png ,并打开生的成词云图。
在这里插入图片描述
三、第三张图
最后一张是中文带背景图的词云,效果图被平台删了,大家自己试着跑一跑下面的代码吧。

完整代码如下,运行前请准备图片和txt文件,并将二者与代码存放在同一目录下。(参照一、二步骤)

  1. import jieba
  2. import numpy as np
  3. from PIL import Image
  4. import matplotlib.pyplot as plt
  5. from wordcloud import WordCloud
  6. def trans_ch(txt):
  7. words = jieba.lcut(txt)
  8. newtxt = ''.join(words)
  9. return newtxt
  10. f = open('maozedong.txt','r',encoding = 'utf-8') #将你的文本文件名与此句的'maozedong.txt'替换
  11. txt = f.read()
  12. f.close
  13. txt = trans_ch(txt)
  14. mask = np.array(Image.open("love.png")) #将你的背景图片名与此句的"love.png"替换
  15. wordcloud = WordCloud(background_color="white",\
  16. width = 800,\
  17. height = 600,\
  18. max_words = 200,\
  19. max_font_size = 80,\
  20. mask = mask,\
  21. contour_width = 4,\
  22. contour_color = 'steelblue',\
  23. font_path = "msyh.ttf"
  24. ).generate(txt)
  25. wordcloud.to_file('love_词云图.png')

以上就是全部过程啦,我没讲清楚的地方欢迎评论区留言,有问必答。

我的其他账户:
bilibili账号:李桥桉
有视频讲解哦~

在这里插入图片描述

一键三连支持一下哦~

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览426036 人正在系统学习中
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/728917
推荐阅读
相关标签
  

闽ICP备14008679号