# -*- 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
从出生那年就飘着  童年的荡秋千 
随记忆一直晃到现在  吹着前奏  望着天空
我想起花瓣  试着掉落  为你翘课的那一天
花落的那一天  教室的那一间  我怎么看不见
消失的下雨天  我好想再淋一遍 周杰伦
没想到  失去的勇气我还留着 周杰伦
好想再问一遍  你会等待还是离开 周杰伦
刮风这天  我试过握着你手 周杰伦
但偏偏雨渐渐  大到我看你不见 周杰伦
还要多久  我才能在你身边  等到放晴的那天 周杰伦
也许我会比较好一点  从前从前  有个人爱你很久 周杰伦
但偏偏风渐渐  把距离吹得好远 周杰伦
好不容易  又能再多爱一天  但故事的最后 周杰伦
你好像还是说了拜拜  为你翘课的那一天 周杰伦
花落的那一天  教室的那一间  我怎么看不见 周杰伦
消失的下雨天  我好想再淋一遍 周杰伦
没想到  失去的勇气我还留着  好想再问一遍 周杰伦
你会等待还是离开  刮风这天  我试过握着你手 周杰伦
但偏偏雨渐渐  大到我看你不见
还要多久  我才能在你身边  等到放晴的那天 周杰伦
也许我会比较好一点  从前从前  有个人爱你很久
偏偏风渐渐  把距离吹得好远 周杰伦
好不容易  又能再多爱一天  但故事的最后 周杰伦
你好像还是说了拜拜  刮风这天  我试过握着你手 周杰伦
但偏偏雨渐渐  大到我看你不见 周杰伦
还要多久  我才能够在你身边
等到放晴那天  也许我会比较好一点 周杰伦
从前从前  有个人爱你很久
但偏偏风渐渐  把距离吹得好远 周杰伦
好不容易  又能再多爱一天

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐