python利用wordcloud生成词云图

一、下载第三方模块

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", #背景为黑色

在这里插入图片描述

三、词云图的一些参数

在这里插入图片描述

发布了33 篇原创文章 · 获赞 13 · 访问量 2783

猜你喜欢

转载自blog.csdn.net/weixin_44947339/article/details/103933238
今日推荐