python可以画云图吗_Python笔记:用Python绘制词云图

本文介绍了如何使用Python的jieba、wordcloud和matplotlib库创建词云图,包括文本处理、去除停用词和自定义词云形状,提供了一个完整的代码示例,帮助读者掌握词云图的制作技巧。
摘要由CSDN通过智能技术生成

相信熟悉“词云图”的朋友都知道,“词云图”是用来做词频分析的可视化图形。

在Python中,我们可以用pyecharts做词云图,也可以使用matplotlib来绘制词云图,并且matplotlib绘制出来的词云图更具个性化。

材料:TXT格式的文件、jupyter notebook、PPT、电脑、Python中的jieba分词库、wordclound库、matplotlib库、微信截图或其它工具等。

数据结构:

0348ada7d8b10c5ecf9ac1daf5d1d64e.png

# 导入相关的库

import jieba

from wordcloud import WordCloud

import matplotlib.pyplot as plt

# 导入文本数据并进行简单的文本处理。注意文本的编码为gbk或utf-8等

text = open(r"C:\Users\QDM\Desktop\SAP出库价\9-07\ciyun.txt",encoding ="gbk").read()

# 去掉换行符和空格

text = text.replace('\n',"").replace("\u3000","")

# 强迫症预览一下加载进来的内容

text

ba5216e6f03bb09a010e95049ab94559.png

# 分词,返回结果为词的列表

text_cut = jieba.lcut(text)

# 将分好的词用某个符号分割开连成字符串

text_cut = ' '.join(text_cut)

c3b4b2cf6732b930aa5b5e438759a3e3.png

# 导入停词

# 用于去掉文本中类似于'啊'、'你','我'之类的词

stop_words = open(r"C:\Users\QDM\Desktop\SAP出库价\9-07\ciyun.txt",encoding ="gbk").read().split("\n")

# 使用WordCloud生成词云

word_cloud = WordCloud(font_path="simsun.ttc", # 设置词云字体

background_color="white", # 词云图的背景颜色

stopwords=stop_words) # 去掉的停词

word_cloud.generate(text_cut)

# 用matplotlib渲染出词云图

# 调整画布的长和宽

plt.subplots(figsize=(12,8))

plt.imshow(word_cloud)

plt.axis("off")

渲染效果:

02dec2d0409d5ed1b15419a60fa984fe.png

接下来,我们可根据自己的想法自定义自己想要的词云形状。如下:

我们可以现在PPT里面设置出以下效果:

9e1dd34b209f9441ff20b70c195b5802.png

然后再用微信截图或其它工具裁剪再保存一下。

e7452d3acd69b991ca354f0fb8fa5cc2.png

编写完整代码:

# 完整代码

# 导入相关的库

import jieba

from wordcloud import WordCloud

import matplotlib.pyplot as plt

from PIL import Image

# 加载并处理分词

text = open(r"C:\Users\QDM\Desktop\SAP出库价\9-07\ciyun.txt",encoding ="gbk").read()

text = text.replace('\n',"").replace("\u3000","")

text_cut = jieba.lcut(text)

text_cut = ' '.join(text_cut)

stop_words = open(r"C:\Users\QDM\Desktop\SAP出库价\9-07\ciyun.txt",encoding ="gbk").read().split("\n")

# 读取背景图片,也可以输入中文

background = Image.open(r"C:\Users\QDM\Desktop\fu.png")

graph = np.array(background)

word_cloud = WordCloud(font_path="simsun.ttc",

background_color="white",

mask=graph, # 指定词云的形状

stopwords=stop_words)

# 渲染效果

word_cloud.generate(text_cut)

plt.subplots(figsize=(12,8))

plt.imshow(word_cloud)

plt.axis("off")

渲染出来的效果:

e79391925b8a6e7497ecc0558946b18b.png

有掌握了一门装X技能!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值