首页游戏资讯软件测试|教你利用Python快速绘造酷炫词云图

软件测试|教你利用Python快速绘造酷炫词云图

misa2 04-11 3次浏览 0条评论

媒介

词云图如今似乎成了各个互联网产物年末清点的原则形式,好比我们的热搜,我们QQ音乐网易云音乐最喜好的歌手最喜好的歌曲等等,词云图其实是太契合互联网时代了。那么我们能不克不及本身也往画一个词云图出来?就用我们的Python来完成那个目标。

情况预备

Python绘造词云图有几个常用的库,wordcloud,jieba,matplotlib三个库,情况预备也十分简单,安拆那三个库即可.。

pip install wordcloud jieba matplotlib

wordcloud是python的一个三方库,称为词云也喊做文字云,是根据文本中的词频,对内容停止可视化的汇总。

jieba是优良的中文分词第三方库,因为中文文本之间每个汉字都是持续书写的,我们需要通过特定的手段来获得此中的每个词组,那种手段喊做分词,jieba库就能很好地帮我们完成那项工做。

好的,情况预备好了,间接开干。

简单词云图

绘造词云图之前,我们需要先预备好我们的文本文件,用于统计频次,能够本身创建文本文档。代码如下:

import matplotlib.pyplot as plt # 在任何绘图之前,我们需要一个figure对象,能够理解成我们需要一张画板才气起头绘图

import jieba # jieba库是中文分词的第三方库(中文文本需要通过火词获得单个的词语)

from wordcloud import WordCloud # 导进wordcloud库

text = open(r'names.txt', "r", encoding="utf-8").read() # 读进txt文本数据,在字符串前面加上字符r或R之后表达原始字符串,字符串中的肆意字符都不再停止转义,后一个r表达“只读”

cut_text = jieba.cut(text) # jieba中文分词,生成字符串,默认切确形式,假设欠亨过火词,无法间接生成准确的中文词云

result = " ".join(cut_text) # 必需给个符号分离隔分词成果来构成字符串,不然不克不及绘造词云

# join函数的用法:'sep'.join(seq)参数阐明:sep:分隔符。能够为空;seq:要毗连的元素序列、字符串、元组、字典;即:以sep做为分隔符,将seq所有的元素合并成一个新的字符串

# 生成词云图,那里需要重视的是WordCloud默认不撑持中文,所以那里需已下载好的中文字库

展开全文

# 无自定义布景图:需要指定生成词云图的像素大小,默认布景颜色为黑色,同一文字颜色:mode='RGBA'和colormap='pink'

wc = WordCloud(

# 设置字体,不指定就会呈现乱码

background_color='white', # 设置布景色,默认为黑色

width=500, # 设置布景宽

height=350, # 设置布景高

max_font_size=50, # 更大字体

min_font_size=10, # 最小字体

mode='RGBA' # 当参数为“RGBA”而且background_color不为空时,布景为通明

wc.generate(result) # 根据分词后的文本产生词云

wc.to_file(r"wordcloud.png") # 保留绘造好的词云图

plt.imshow(wc) # 以图片的形式展现词云

plt.axis("off") # 封闭图像坐标系,即不展现坐标系

plt.show() # plt.imshow()函数负责对图像停止处置,并展现其格局,但是不克不及展现。其后必需有plt.show()才气展现

代码展现效果如下:

软件测试|教你利用Python快速绘造酷炫词云图

因为我们文件中涉及的词汇不多,所以招致生成的词云图不敷密集,但是当词汇较多且部门词汇呈现次数较多时,便会生成较为密集的词云图。

定造指定外形的词云图

良多时候,我们想要生成的词云图并非上面的方朴直正的,那样过分传统,词云图要的是酷炫别致,所以我们也能够先指定一下外形,如许生成的词云图会愈加吸引眼球。以下面的需求为例,我们需要绘造《滕王阁序》的词云图,以我最喜好的动漫人物——柯南为词云图的外形。

软件测试|教你利用Python快速绘造酷炫词云图

import wordcloud

import numpy as np

from PIL import Image # Image模块是在Python PIL图像处置常用的模块

import jieba

pic = Image.open("conan.png") # 翻开图片途径,构成轮廓

shape = np.array(pic) # 图像轮廓转换为数组

wc = wordcloud.WordCloud(mask=shape, font_path="simkai.ttf", background_color="white",

max_font_size=100) # mask为图片布景,font_path为字体,若不设置可能乱码

text = open(r'article.txt', "r", encoding='UTF-8').read() # 对中文应该设置编码体例为utf—8,article.txt为滕王阁序的全文

cut_text = jieba.cut(text)

result = " ".join(cut_text)

wc.generate(result)

wc.to_file("cloud.jpg")

生成的词云图如下:

软件测试|教你利用Python快速绘造酷炫词云图

是不是比第一次生成的词云图都雅了良多,末于有了些互联网产物年末清点词云图的外形。

总结

本文次要介绍了词云图的绘造,词云图是一个别致的互联网东西,可以帮我们曲看的领会互联网的热点事务等等,本文就介绍到那里,后续我们将陆续讲解一些有趣的图表绘造。

字典 下载
2024华中农业大学408计算机学科专业根底历年实题及谜底独家条记题库纲领体味 重视!两地发布2022年执业药师测验资格复核通知!
相关内容
发表评论

游客 回复需填写必要信息