# -*- coding: utf-8 -*-
# Matplotlib是一个 Python 的 2D数学绘图库
# 安装:pip install matplotlib
import matplotlib.pyplot as plt
# jieba中文分词库
# 安装:pip install jieba
import jieba
# wordcloud词云库
# 安装pip install wordcloud
from wordcloud import WordCloud
# 1.读入txt文本数据
text = open(r'jay.txt', "r",encoding="utf-8").read()
#print(text)
# 2.结巴中文分词,生成字符串,默认精确模式,如果不通过分词,无法直接生成正确的中文词云
cut_text = jieba.cut(text)
# print(type(cut_text))
# print(next(cut_text))
# print(next(cut_text))
# print(next(cut_text))
# 必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云
result = " ".join(cut_text)
# print(result)
# 3.生成词云图,这里需要注意的是WordCloud默认不支持中文,所以这里需已下载好的中文字库
# 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'和colormap='pink'
wc = WordCloud(
# 设置字体,不指定就会出现乱码
font_path=r'.\simhei.ttf',
# 设置背景色
background_color='white',
# 设置背景宽
width=500,
# 设置背景高
height=350,
# 最大字体
max_font_size=50,
# 最小字体
min_font_size=10,
)# max_words=1000 ),mode='RGBA',colormap='pink')
# 产生词云
wc.generate(result)
# 保存图片
wc.to_file(r"wordcloud.png") # 按照设置的像素宽高度保存绘制好的词云图,比下面程序显示更清晰
# 4.显示图片
# 指定所绘图名称
plt.figure("jay")
# 以图片的形式显示词云
plt.imshow(wc)
# 关闭图像坐标系
plt.axis("off")
plt.show()
jay.txt
从出生那年就飘着 童年的荡秋千
随记忆一直晃到现在 吹着前奏 望着天空
我想起花瓣 试着掉落 为你翘课的那一天
花落的那一天 教室的那一间 我怎么看不见
消失的下雨天 我好想再淋一遍 周杰伦
没想到 失去的勇气我还留着 周杰伦
好想再问一遍 你会等待还是离开 周杰伦
刮风这天 我试过握着你手 周杰伦
但偏偏雨渐渐 大到我看你不见 周杰伦
还要多久 我才能在你身边 等到放晴的那天 周杰伦
也许我会比较好一点 从前从前 有个人爱你很久 周杰伦
但偏偏风渐渐 把距离吹得好远 周杰伦
好不容易 又能再多爱一天 但故事的最后 周杰伦
你好像还是说了拜拜 为你翘课的那一天 周杰伦
花落的那一天 教室的那一间 我怎么看不见 周杰伦
消失的下雨天 我好想再淋一遍 周杰伦
没想到 失去的勇气我还留着 好想再问一遍 周杰伦
你会等待还是离开 刮风这天 我试过握着你手 周杰伦
但偏偏雨渐渐 大到我看你不见
还要多久 我才能在你身边 等到放晴的那天 周杰伦
也许我会比较好一点 从前从前 有个人爱你很久
偏偏风渐渐 把距离吹得好远 周杰伦
好不容易 又能再多爱一天 但故事的最后 周杰伦
你好像还是说了拜拜 刮风这天 我试过握着你手 周杰伦
但偏偏雨渐渐 大到我看你不见 周杰伦
还要多久 我才能够在你身边
等到放晴那天 也许我会比较好一点 周杰伦
从前从前 有个人爱你很久
但偏偏风渐渐 把距离吹得好远 周杰伦
好不容易 又能再多爱一天