欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python利用wordcloud生成词云图

程序员文章站 2022-05-27 15:10:48
...

一、下载第三方模块

pip install wordcloud
pip install jieba
  • wordcloud:它把我们带权重的关键词渲染成词云。

  • jieba:是一个分词模块,可以从文本里提取关键词,所以需要 jieba 来分词并统计词频。如果是已经有了现成的数据,不再需要它。

二、实例演示
图片和文章要跟py文件放在同一个文件夹下,wordcloud1.png和wordcloud2.png图片是运行程序后生成的。
python利用wordcloud生成词云图
jiqiren.txt:来源于学习强国的一篇文章:《2020年,机器人已不是幻想 但它还没有“以假乱真”的野心》。
jiqiren.jpg : 百度随便下载的。
python利用wordcloud生成词云图

第一个实例: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")  #导出到图像文件

效果图

python利用wordcloud生成词云图
第二个实例: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")    #导出到图像文件

效果图

python利用wordcloud生成词云图
当然我们也可以改变背景颜色只需要改变一行代码

 background_color = "black", #背景为黑色

python利用wordcloud生成词云图
三、词云图的一些参数
python利用wordcloud生成词云图

相关标签: python 经验分享