python利用wordcloud生成词云图
程序员文章站
2022-05-27 15:10:48
...
一、下载第三方模块
pip install wordcloud
pip install jieba
-
wordcloud:它把我们带权重的关键词渲染成词云。
-
jieba:是一个分词模块,可以从文本里提取关键词,所以需要 jieba 来分词并统计词频。如果是已经有了现成的数据,不再需要它。
二、实例演示
图片和文章要跟py文件放在同一个文件夹下,wordcloud1.png和wordcloud2.png图片是运行程序后生成的。
jiqiren.txt:来源于学习强国的一篇文章:《2020年,机器人已不是幻想 但它还没有“以假乱真”的野心》。
jiqiren.jpg : 百度随便下载的。
第一个实例:wordcloud1.py
#导入需要的模块
import jieba
import wordcloud
f=open("jiqiren.txt","r",encoding="utf-8") #加载需要分析的文章
t = f.read()
f.close()
ls = jieba.lcut(t) #对文章进行分词
txt = " ".join(ls) #利用join函数把每个词前面加空格
w = wordcloud.WordCloud( #创建词云对象
font_path = "msyh.ttc", #字体微软雅黑
width = 300, #图像宽度(默认为400像素)
height = 500, #图像高度(默认为200像素)
background_color = "white", #背景颜色
)
w.generate(txt) #根据文本生成词云图成
w.to_file("wordcloud1.png") #导出到图像文件
效果图
第二个实例:wordcloud2.py
#导入需要的模块
import jieba
import wordcloud
from imageio import imread
f=open("jiqiren.txt","r",encoding="utf-8") #加载需要分析的文章
t = f.read()
f.close()
ls = jieba.lcut(t) #对文章进行分词
txt = " ".join(ls) #利用join函数把每个词前面加空格
w = wordcloud.WordCloud( #创建词云对象
font_path = "msyh.ttc", #字体微软雅黑
width = 600, #图像宽度(默认为400像素)
height = 300, #图像高度(默认为200像素)
background_color = "white", #背景颜色
mask=imread('jiqiren.jpg',pilmode="RGB") #mask定义词云图的形状,图片要有背景色,另外有mask参数再设定宽高是无效的
)
w.generate(txt) #根据文本生成词云图成
w.to_file("wordcloud2.png") #导出到图像文件
效果图
当然我们也可以改变背景颜色只需要改变一行代码
background_color = "black", #背景为黑色
三、词云图的一些参数
上一篇: 利用python制作漂亮的词云图