【Python】使用wordcloud画词云的可视化例子,并保存图片

您所在的位置:网站首页 python中如何保存小说图片 【Python】使用wordcloud画词云的可视化例子,并保存图片

【Python】使用wordcloud画词云的可视化例子,并保存图片

2024-06-02 13:20| 来源: 网络整理| 查看: 265

之前写了用pyecharts画词云,今天我们来看一下用python的wordcloud库画词云。

wordcloud接收的数据有两种格式,一种是纯文本的格式,另一种是词频的格式。我们来举个例子。

from wordcloud import WordCloud import matplotlib.pyplot as plt ### 纯文本数据 data = ['重庆','上海','北京','天津','上海','重庆','重庆','北京','重庆','上海','重庆'] ### 将数据中的每一个元素用空格连接成一个字符串 data = ' '.join(data) ### 词频字典 data1 = {'重庆':5,'北京':2,'上海':3,'天津':1} ### 生成词云,/font/msyh.ttc可以让词云中的中文不是乱码(条形框) wc = WordCloud(font_path='/font/msyh.ttc', background_color='white').generate(data) wc1 = WordCloud(font_path='/font/msyh.ttc',background_color='white').generate_from_frequencies(data1) ### 显示词云 fig = plt.figure(1) plt.imshow(wc) plt.axis('off') fig = plt.figure(2) plt.imshow(wc1) plt.axis('off') plt.show()

运行结果,我们可以看到生成了两张词云: 

                                   

                                                      

需要注意的是,如果输入的数据是文本,需要将数据用空格连成一个字符串,否则就会报TypeError: expected string or bytes-like object的错误。

通过修改mask参数,wordcloud库可以支持词云填充图片,也就是整个词云的轮廓为图片的形状。我们来看个例子:

from wordcloud import WordCloud import matplotlib.pyplot as plt from PIL import Image import numpy as np data1 = {'重庆':20,'北京':30,'上海':19,'天津':11,'南京':5, '宁波':13, '西安':3,'深圳':9,'武汉':7,'陕西':10,'山西':15,'山东':18, '湖南':14,'云南':12,'昆明':8,'丽江':6,'浙江':21,'杭州':25} ### 打开作为轮廓的图片,并转为数组 mask = np.array(Image.open('C:\\Users\\Administrator\\Desktop\\timg (2).jpg')) wc1 = WordCloud(font_path='/font/msyh.ttc', background_color='white',mask=mask).generate_from_frequencies(data1) fig = plt.figure(1) plt.imshow(wc1) plt.axis('off') plt.show()

运行结果,因为数据没有很多,填充的不是很好。大概的形状还是有的:

                                   

画完图保存图片,一句话搞定

### dpi为图片的像素 plt.savefig('E:\\picture.jpg',dpi=500)

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3