简单中文词云图的制作

简单中文词云图的制作


之前建模比赛的时候接触过一丢丢,不过用的是别人的模板。自己再写一遍印象更深刻一些。
直接上代码:

import jieba        #中文分词
from matplotlib import pyplot as plt    #绘图,数据可视化
from wordcloud import WordCloud     #词云图
from PIL import Image   #图片处理
import numpy as np  #矩阵运算
import xlwt
import xlrd

#准备词云所需文字
datas=xlrd.open_workbook('./知网_主题检索_新冠1.3.xlsx')
table=datas.sheets()[0]
quotes=table.col_values(-2)[1:]
print(len(quotes))
quotes=''.join(quotes)
quotes=quotes.replace('\n','').replace('\r','').replace(';','')
print(quotes)

#中文分词
cut=jieba.cut(quotes)
string=' '.join(cut)
print(string)
print(len(string))

#导入一张白底图片
img=Image.open('./词云_树.jpg')
img_array=np.array(img)     #将图片转化为数组
wc=WordCloud(
    background_color='white',
    mask=img_array,
    font_path="msyh.ttc"    #字体所在位置C:\Windows\Fonts
)
wc.generate_from_text(string)

#绘制图片
fig=plt.figure(1)
plt.imshow(wc)
plt.axis('off')     #是否显示坐标轴

plt.show()      #显示图片
#plt.savefig('./wordcloud_summary.png',dpi=500) #保存图片 dpi表示图片清晰度

关于代码的复用:将“准备词云所需要的文字”中换成自己的字符串类型数据,导入自己的白底图片;
PS:注意查看本机中有的字体(位置在代码中),选择其中的中文字体。
实现结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值