用爱表达——Python生成词云

1.词云WordCloud讲解

font_path 表示用到字体的路径
width和height表示画布的宽和高
prefer_horizontal可以调整词云中字体水平和垂直的多少
mask即掩膜,产生词云背景的区域
scale:计算和绘图之间的缩放
min_font_size设置最小的字体大小
max_words设置字体的多少
stopwords设置禁用词
background_color设置词云的背景颜色
max_font_size设置字体的最大尺寸
mode设置字体的颜色 但设置为RGBA时背景透明
relative_scaling设置有关字体大小的相对字频率的重要性
regexp设置正则表达式
collocations 是否包含两个词的搭配

2.下载模板

这里我给除一个爱心模板,大胆使用吧。

3.核心代码讲解

a) 依赖安装,因为使用的python,因此,安装wordcloud,就变得十分简单了;同时我们也使用了结巴分词,所以jieba分词也需要安装。

pip install  wordcloud
pip install jieba
pip install pillow

b) 读取文件,并用结巴进行统计

import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba
import os
import numpy
import PIL.Image as Image
cur_path = os.path.dirname(__file__) #当前文件的路径
print(cur_path)
text_from_file_with_apath = open(os.path.join(cur_path, '深渊主宰系统.txt'),encoding='utf-8').read() #读取文件
mask_pic = numpy.array(Image.open(os.path.join(cur_path, 'love2.jpg')))  #读取填词的模板图片

wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all=True) #jieba分词
wl_space_split = " ".join(wordlist_after_jieba)

c) 对jieba分词统计后的数据进行填充至图像当中,这里我们就会用到wordcloud,同时返回一个图像。

#mask 表示将词填充到的模板图片 font_path 表示填充的字体
my_wordcloud = WordCloud(background_color="white",mask=mask_pic, font_path=os.path.join(cur_path, '竹繁.ttf')).generate(wl_space_split)

d) 对图像进行一个显示。这里会用到图像当中的知识,如果有不理解的可以下方留言,或者看我以前的文章。

#显示词云
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()

4.看看结果吧

Q&A

1、AttributeError: module 'backend_interagg' has no attribute 'FigureCanvas' 版本问题,降低版本

pip uninstall matplotlib
pip install matplotlib==3.5.3
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿杰笔记

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值