在Python中,除了用pyecharts库,其实用matplotlib也可以制作词云图,只是jieba库不太好安装。白天是很难安装成功的,所以一般都趁着凌晨来安装。示例代码如下:
from wordcloud import WordCloud,STOPWORDS
from PIL import Image
import matplotlib.pyplot as plt
# 安装jieba模块,凌晨安装效果比较好,因为网速
import jieba
import numpy as np
# 将Excel中的数据复制粘贴到桌面新建的txt格式文件中,并且另存为 utf-8 编码的文件
content=open(r"C:\Users\QDM\Desktop\jieba.txt","r",encoding="utf-8").read()
tag=jieba.cut(content)
#一定要用空格将关键字串起来
text=" ".join(tag)
#读入背景图片(可以从网上搜索一些相关形状且无背景的图片,比如雨伞)
image=np.array(Image.open(r"C:\Users\QDM\Desktop\san.jpg"))
#设置不显示的词,停顿词
sw=set(STOPWORDS)
sw.add("不好")
sw.add("失落")
#生成词云对象
wc=WordCloud(font_path=r"C:\Users\lixue\Desktop\simhei.ttf",
#指定词云的形状
mask=image,
#背景颜色
background_color="white",
scale=0.9,
random_state=20
)
#生成词云图片
wc=wc.generate(text)
#显示词云图片
plt.imshow(wc)
plt.axis("off")
plt.show()
#保存图片
wc.to_file("new_love.png")
运行结果:
结语:效果不如pyecharts作出来的图好!