wordcloud绘制词云图

1.wordcloud的安装

我直接推荐一种简单方式
cmd命令行输入以下命令就可以了。

pip install wordcloud

2.wordcloud库介绍

wordcloud库,可以说是python非常优秀的词云展示第三方库。词云以词语为基本单位更加直观和艺术的展示文本,下面给大家看一个示例:
在这里插入图片描述

3.wordcloud的使用

接下来,介绍下wordcloud的基本使用。wordcloud把词云当作一个对象,它可以将文本中词语出现的频率作为一个参数绘制词云,而词云的大小、颜色、形状等都是可以设定的。

import  wordcloud
c =wordcloud.wordcloud()

wordcloud把词云当做一个wordcloud对象,后面的操作都是基于这个wordcloud对象进行的。

wordcloud库的基本使用

  1. 配置对象参数(设置wordcloud对象生成词云图片宽度长度,背景,字体,大小等)
  2. 加载词云文本(输入一个txt文件或者一个字符串都可以)
  3. 输出词云文件(输入词云图片)
    下面我们看一个例子
import wordcloud
txt ='lift is short,you need python'
w =wordcloud.WordCloud()#wordcloud.WordCloud()代表一个文本对应的词云
w.generate(txt)#向wordcloud对象w中加载文本txt
w.to_file(r"C:\Users\lixue\Desktop\mywordcloud.png")#将词云输出为图像文件,png或者jpg格式

结果生成一个这样的图片
在这里插入图片描述
当你会这几行代码,基础词云图绘制你也大致掌握了。然后我们可以讲一下词云图绘制的细节。

配置对象参数

这里我罗列一些大家可以参考一下。
在这里插入图片描述
这些参数是我们必须要掌握的,然后大致学会使用,有的时候默认参数可以的话,你就不需要更改参数了。
还有我们对上面的参数举几个例子。
这个例子是指定一个词云图像,生成我们想要的图形,主要是一个美观的作用。

from wordcloud import WordCloud
import matplotlib.pyplot as plt
from scipy.misc import imread
#读取一个txt文件
text = open(r'C:\Users\lixue\Desktop\test.txt','r').read()
#读入背景图片
bg_pic = imread(r'C:\Users\lixue\Desktop\人型.png')
#生成词云
wordcloud = WordCloud(mask=bg_pic,background_color='white',scale=1.5).generate(text)
#显示词云图片
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
#保存图片
wordcloud.to_file(r'C:\Users\lixue\Desktop\test.png')

在这里插入图片描述
也可以是这种
在这里插入图片描述
总之生成词云图形状很多,这个看大家自己的选择了。

中文词云图的生成

如当我们绘制中文词云图时,采用默认的参数,生成的词云图会乱码,图片上面的词不能正常显示,这个是因为wordcloud默认是不支持显示中文的,中文会被显示成方框。还有中文和英文不同,中文字之间没有空格,和英文的有很大区别。wordlcloud.WordCloud类初始化函数有个设置字体的参数font_path,把支持中文的字体的路径传给font_path。。

from wordcloud import WordCloud
import matplotlib.pyplot as plt
from scipy.misc import imread
import jieba
import wordcloud

text = open(r'C:\Users\lixue\Desktop\shuju_test.txt','r',encoding='utf-8').read()
#读入背景图片
bg_pic = imread(r'C:\Users\lixue\Desktop\人型.png')
#生成词云
wo1 = WordCloud(mask=bg_pic,background_color='white',scale=1.5,font_path =r'C:\Users\lixue\Desktop\simhei.ttf')
wo1.generate(' '.join(jieba.lcut(text)))
plt.imshow(wo1)
plt.axis('off')
plt.show()
wo1.to_file(r'C:\Users\lixue\Desktop\test1.png')
#显示词云图片

大家可以看看效果
在这里插入图片描述
至于词云图更多操作以及效果美化的话,大家可以自己琢磨一下,下面我把我的数据和中文字体文件放在下面的链接,有兴趣多的话可以下载。
链接:https://pan.baidu.com/s/1JiX445LlV3UCWWs0VkyARw
提取码:ukzu

猜你喜欢

转载自blog.csdn.net/qq_42370313/article/details/90606645