首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PyWordCloud,一个词云生成Python库!

PyWordCloud,词云生成工具,可视化文本数据就是这么简单!

词云是一种超级炫酷的数据可视化方式,把一堆文字变成图片,而且重要的词会显示得更大。今天我就带大家玩一下WordCloud这个库,用 Python 几行代码就能搞定词云图,不管是做报告还是数据分析都特别好用。

安装配置

pip install wordcloud

pip install matplotlib

装好这俩库就差不多了。要是要处理中文的话,还得装个结巴分词:

pip install jieba

英文词云最简单版

英文词云最简单,因为英文单词本来就是空格分开的,直接上就完事了:

from wordcloud import WordCloud

import matplotlib.pyplot as plt

text = “Python is awesome Python is cool Python is great”

wc = WordCloud().generate(text)

plt.imshow(wc)

plt.axis('off')

plt.show()

温馨提示:要是显示不出来图,检查下 matplotlib 有没有装好。

玩转中文词云

中文词云麻烦一丢丢,因为中文字词之间没空格,得先分词。我写个例子:

import jieba

from wordcloud import WordCloud

import matplotlib.pyplot as plt

text = “Python是最简单的编程语言 Python特别好学 我超级喜欢Python”

words = ' '.join(jieba.cut(text))

wc = WordCloud(font_path='msyh.ttc', # 这个是微软雅黑字体,没有的话换别的中文字体

width=800,

height=400,

background_color='white').generate(words)

plt.imshow(wc)

plt.axis('off')

plt.show()

词云进阶玩法

词云还能玩出花来,我给大家整几个好玩的设置:

wc = WordCloud(

width=1000, # 图片宽度

height=600, # 图片高度

background_color='black', # 背景颜色

max_words=200, # 最多显示词数

min_font_size=10, # 最小字号

max_font_size=100, # 最大字号

random_state=42 # 随机种子,这样每次生成图都一样

)

还可以把不想要的词过滤掉:

stopwords = {'的', '了', '和'} # 这些词不要显示

wc = WordCloud(stopwords=stopwords)

读取文件生成词云

实际用的时候,咱们一般是要处理文件的:

def create_word_cloud(filename):

with open(filename, 'r', encoding='utf-8') as f:

text = f.read()

width=800,

height=400).generate(words)

plt.axis('off')

plt.show()

词云真的特别好玩,你可以试试把自己的文章、小说甚至微博内容都生成词云看看。要是遇到啥问题,随时问我。

代码写着写着就会了,关键是要多试试不同的参数,把玩出自己喜欢的效果。记得存图的时候用plt.savefig('wordcloud.png')就成。

Would you like me to explain or break down the code?

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OYT7T_0kUNtRjx_bqRii6hTw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券