前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >轻松抓住内容关键字!

轻松抓住内容关键字!

作者头像
永恒君
发布2022-12-07 15:18:05
2090
发布2022-12-07 15:18:05
举报
文章被收录于专栏:开源小分队开源小分队

大家好,我是开源大叔! 今天给大家分享一个非常好用的行为词云图开源项目:wordcloud

介绍

当我们看到一篇文章或者电子书的时候,想知道文章或书中主要内容,则可以采用词云图来处理。词云图就是对文本中出现频率较高的关键词进行可视化的展现。接下来跟着大叔来看看怎么使用吧。

快速入门

在使用之前我们先安装一下 wordcloud,这里安装使用的是 pip3,当然也可以直接使用 pip 进行安装。

代码语言:javascript
复制
pip3 install wordcloud

我们先来一个简单的例子,如下:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud

text = "Hello wordcloud"

x, y = np.ogrid[:300, :300]

mask = (x - 150) ** 2 + (y - 150) ** 2 > 130 ** 2
mask = 255 * mask.astype(int)


wc = WordCloud(background_color="white", repeat=True, mask=mask)
wc.generate(text)

plt.axis("off")
plt.imshow(wc, interpolation="bilinear")
plt.show()

运行效果图如下:

上面展示了英文的词语,我们去试一下中文看看效果如何。

代码语言:javascript
复制
  d = path.dirname(__file__) if "__file__" in locals() else os.getcwd()
  text = open(path.join(d, 'info.txt')).read()
  alice_mask = np.array(Image.open(path.join(d, "file/alice_mask.png")))
  stopwords = set(STOPWORDS)
  stopwords.add("said")
  wc = WordCloud(font_path="Hiragino Sans GB.ttc",background_color="white", max_words=2000, mask=alice_mask,
                 stopwords=stopwords, contour_width=3, contour_color='steelblue')
  wc.generate(text)
  wc.to_file(path.join(d, "alice.png"))
  plt.imshow(wc, interpolation='bilinear')
  plt.axis("off")
  plt.figure()
  plt.imshow(alice_mask, cmap=plt.cm.gray, interpolation='bilinear')
  plt.axis("off")
  plt.show()

运行效果如下:

是不是看起来很酷,通过上面的介绍可以看出底图是可以随意调整的,可以换成自己喜欢的图片,但是有个问题需要注意,如果是中文的话,则需要指定字体 例如 Mac 中得到字体的信息:

找到 ttc 格式的字体文件 copy 到自己项目中就可以方便地使用啦。

大叔总结

大叔上面只是介绍了 wordcloud 的简单使用,在使用的时候还有其他的高级设置,大家可以试起来哦!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源小分队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 快速入门
  • 大叔总结
相关产品与服务
腾讯云图数据可视化
腾讯云图数据可视化(Tencent Cloud Visualization) 是一站式数据可视化展示平台,旨在帮助用户快速通过可视化图表展示大量数据,低门槛快速打造出专业大屏数据展示。精心预设多种行业模板,极致展示数据魅力。采用拖拽式自由布局,全图形化编辑,快速可视化制作。腾讯云图数据可视化支持多种数据来源配置,支持数据实时同步更新,同时基于 Web 页面渲染,可灵活投屏多种屏幕终端。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档