python词云图生成简单实用

首先:导入主要模块

jieba、matplotlib、wordcloud、numpy、PIL

import jieba
from matplotlib import pyplot as plt
from wordcloud import WordCloud
from PIL import Image
from matplotlib import colors
import numpy as np

设置词云的字体

font = r'C:\Windows\Fonts\simhei.TTF'

 这里用电脑自带的就可以,在这个文件路径里找自己喜欢的格式,点文件属性查看文件名

设置文件路径

path = r'D:\Python\python_data\venv\学习\test'

在哪写代码,就把文件路径写哪(这里可以更改为自己的路径)

使用jieba模块分词

text = (open(path+r'\data.txt','r',encoding='utf-8')).read()#获得要分词的数据

def tcg(te):    #分词函数,如何分取决于txt文件里文字格式
    cut = jieba.cut(te) 
    string = '\n'.join(cut) #比如我的txt里面是一行一个词 就用换行分词
    return string

string=tcg(text)#调用

 

自定义设置词云字体颜色

 颜色参数自己随意设置(这里我写了一个蓝色系数组),colormap为后面词云的参数

color_list = ['#378FE7','#686FB6','#4926F8','#57A4C7','#48D6CC',
                        '#2C31F2','#4325F9','#277BF7','#2557F9']
colormap=colors.ListedColormap(color_list)#调用matplotlib的colors方法

图片最好以白色为底,图里面是什么形状,词云就是什么形状

图是我用word写的艺术字,再用截图工具截的

img = Image.open(path+r'\henu.jpg') #打开图片
img_array = np.array(img) #把图片变为数组格式
stopword=['']    #设置停止词,即不想出现的内容

设置词云参数

wc = WordCloud(
    background_color='white',#背景颜色
    width=1000,              #词云长宽大小
    height=800,
    colormap=colormap,       #词云字体颜色
    mask=img_array,          #设置背景图片
    font_path=font,          #字体格式文件路径
    stopwords=stopword       #不想出现的内容
)

绘图并导出词云

wc.generate_from_text(string)#绘图

plt.axis('off')#使用matplotlib可视化工具,设置不显示坐标轴

plt.show()     #显示图片

wc.to_file(path+r'\test.jpg')  #保存到当前文件

效果

 

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

he盒子nu

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

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

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

打赏作者

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

抵扣说明:

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

余额充值