python绘制词云图

词云图是文本分析中比较常见的一种可视化手段,将出现频率相对高的词字体相对变大,让重点词,关键词一目了然

主要用到了python的两个库:wordcloud和jieba,直接pip安装即可

jieba主要用于中文分词,wordcloud主要用于统计词频和绘图
jieba分词:

import jieba
s = "一身男儿血,满腔报国志"
print("精准模式:" + '|'.join(jieba.cut(s)))
print("全模式:" + '|'.join(jieba.cut(s, cut_all=True)))
print("搜索引擎模式:" + '|'.join(jieba.cut_for_search(s)))

输出:

精准模式:一身|男儿|血|,|满腔|报国志
全模式:一身|男儿|血|,|满腔|报国|报国志
搜索引擎模式:一身|男儿|血|,|满腔|报国|报国志

这里还可以设置自定义词典,比如“一身男儿血”不能进行分割,我们可以将“一身男儿血”放入自定义词典

自定义词典的格式:一个词占一行,比如我们设置的dict.txt是

import jieba
s = "一身男儿血,满腔报国志"
jieba.load_userdict('dict.txt')
print("精准模式:" + '|'.join(jieba.cut(s)))
print("全模式:" + '|'.join(jieba.cut(s, cut_all=True)))
print("搜索引擎模式:" + '|'.join(jieba.cut_for_search(s)))

输出:

精准模式:一身男儿血|,|满腔|报国志
全模式:一身|一身男儿血|男儿|血|,|满腔|报国|报国志
搜索引擎模式:一身|男儿|一身男儿血|,|满腔|报国|报国志

首先我们找一张图片,如:

准备一段文字,可以是字符串,也可以是写在文件里面的,写在文件内的需要读取出来,然后在用jieba进行分词,如果是分好的词,可以直接进行使用
代码:

import jieba
import numpy as np
import PIL.Image as Image
from wordcloud import WordCloud

text = '''
世界上最简单、有最重要的东西是什么?——是数字。
0到9九个数字,支撑起了人类的科学大厦。0和1两个数字,
构建了无边无际的互联网世界。5G、大数据、人工智能、
工业互联网……“新基建”将推动我国步入下一个发展周期,
背后的本质是0和1。再来看一串数字:14万所学校,
300万个班级,1.3亿学生,全国3亿人。
这是钉钉最新发布的“在线上课”数据和总的用户数据。
这串数字的背后,仍是0和1。没有0和1,就没有中国的抗疫胜利,
社会就要停滞,经济就要崩溃。
'''

word_list = jieba.cut(text)
space_word_list = ' '.join(word_list)
print(space_word_list)
# 调用包PIL中的open方法,读取图片文件,通过numpy中的array方法生成数组
mask_pic = np.array(Image.open("1.png"))
word = WordCloud(
    font_path='C:/Windows/Fonts/simfang.ttf',  # 设置字体,本机的字体
    mask=mask_pic,  # 设置背景图片
    background_color='white',  # 设置背景颜色
    max_font_size=150,  # 设置字体最大值
    max_words=2000,  # 设置最大显示字数
    stopwords={'的'}  # 设置停用词,停用词则不在词云途中表示
                 ).generate(space_word_list)
image = word.to_image()
word.to_file('2.png')  # 保存图片
image.show()

结果:

posted @   hziwei  阅读(4821)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示