词云图可以让我们方便地识别出文本中的关键词,其中单词的大小代表它们的频率。有了这个,我们甚至在阅读之前就可以很好地了解文本的内容。

在本文中,我们将使用第三方 Python 库 stylecloud,有了该库,可以通过简短的几行代码来制作漂亮的词云图。本文来自技术群的小伙伴的分享,在此表示感谢。喜欢点赞、收藏、关注。

【注】文末可以加入我们的技术群

闲话少说,我们直接开始吧。

举例

接下来,我们将用来制作词云图的文本是偶像乔布斯在斯坦福大学演讲的一部分。文末链接可以获得对应的 .txt 文件,当然你也可以使用任何其他的文本来制作自己的词云图。

我们首先来安装stylecloud库,安装代码如下:

pip3 install stylecloud

接着我们可以使用_stylecloud.gen_stylecloud()_ 方法来生成词云图,通过传递相应的文本 .txt 文件的路径和生成词云的图标样式即可。

在此示例中,我选择了一个苹果作为图标。代码如下:

import stylecloud
stylecloud.gen_stylecloud(file_path='SJ-Speech.txt',icon_name="fas fa-apple-alt")

输出如下:


上述代码运行后,在当前python文件目录下生成以png格式保存的词云图。

美化显示效果

仔细观察gen_stylecloud()函数的相关参数,我们可以控制背景颜色、单词的颜色、输出文件的名称等。为此,我们查看下面的代码:

stylecloud.gen_stylecloud(file_path='SJ-Speech.txt',icon_name='fas fa-apple-alt',colors='white',background_color='black',output_name='apple.png',collocations=False)

运行结果如下:

处理停用词

接着我们可以使用stop_words库来处理文本中的停用词,可以使用_pip install stop_words_来安装该库。

有了停用词列表,我们也可以将其传递给在_gen_stylecloud_ 函数中的_custom_stopwords_参数。

样例代码如下:

from stop_words import get_stop_words
stop_words = get_stop_words('english')
stylecloud.gen_stylecloud(file_path='SJ-Speech.txt',icon_name='fas fa-apple-alt',palette='cartocolors.qualitative.Pastel_3',background_color='black',output_name='apple.png',collocations=False,custom_stopwords=stop_words)

运行结果如下:

使用自定义背景图像

在文末网站上有数百个免费图标可用于 stylecloud,但是但有时我们可能希望使用自己的图像来为创建更加个性化的词云图。此时,我们可以使用PIL库来读取图像,使用matplotlib来绘制我们的图像,使用wordcloud来制作对应的词云图。

下述代码中使用蝙蝠的图案来生成对应的词云图,代码如下:

from wordcloud import WordCloud, ImageColorGenerator
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
# create a mask based on the image we wish to include
my_mask = np.array(Image.open('batman-logo.png'))
# create a wordcloud
wc = WordCloud(background_color='white',mask=my_mask,collocations=False,width=600,height=300,contour_width=3,contour_color='black',stopwords=stop_words)with open('SJ-Speech.txt',encoding='gb18030',errors='ignore') as txt_file:texto = txt_file.read()
wc.generate(texto)
image_colors = ImageColorGenerator(my_mask)
wc.recolor(color_func=image_colors)plt.figure(figsize=(20, 10))
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
wc.to_file('wordcloud2.png')
plt.show()

运行结果如下:

参考

stylecloud github链接:

https://github.com/minimaxir/stylecloud

图标网站链接:

https://fontawesome.com/icons?d=gallery&p=1&m=free

总结

本文详细介绍了如何使用 stylecloud 库来绘制各种样式的词云图,以突出显示文本中相应的关键词,并给出了定制化改进显示效果的样例代码。

推荐文章

  • 哈哈无法自拔,最近又帮团队搞了一个酷炫的数据看板(附源码)
  • 数据可视化大屏真不是个事,这 30 个精美的模板拿走吧
  • 2022年机器学习视频教程和Python书籍这些足够了
  • 再见英文版,Python 数据科学速查表中文版来了
  • 精选17张知识思维导图,这次要讲清统计学
  • 李宏毅老师《机器学习》国语课程(2022)来了

技术交流

欢迎转载、收藏、有所收获点赞支持一下!

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

stylecloud:一款可以制作个性化词云图的 Python 神器相关推荐

  1. stylecloud:制作个性化词云图的Python神器

    文 | ssw 来源:Python 技术「ID: pythonall」 开篇一张图,轩逸来坐镇 这只披着"动力"铠甲的蜘蛛名叫"轩逸最不满意",正在高速上蠕动, ...

  2. python 可以用excel做词云图嘛_word_cloud-用Python之作个性化词云图

    原标题:word_cloud-用Python之作个性化词云图 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业 ...

  3. R语言如何画个性化词云图

    我之前写了一篇关于使用wordcloud包的文本可视化的博客.点击查看. Ian Fellows与2014-06-13公布了wordcloud包,之前我用wordcloud包写了一篇关于文本可视化的博 ...

  4. 用Tagxedo在线制作个性化词云

    http://www.itongji.cn/article/01063b62015.html 词云,或者叫文字云,就是对网络文本中出现频率较高的"关键字"予以视觉上的突出,形成&q ...

  5. 关键词词云怎么做_用Tagxedo在线制作个性化词云

    词云,或者叫文字云,就是对网络文本中出现频率较高的"关键词"予以视觉上的突出,形成"关键词云层"或"关键词渲染",从而过滤掉大量的文本信息, ...

  6. 使用Python获取春节档电影影评,制作可视化词云图

    Python获取春节档电影影评,制作可视化词云图 前言 准备工作 采集数据部分 基本思路流程 代码实战 可视化词云图 代码展示 效果展示 前言 春节电影听巳月说都还可以,我不信,我觉得还是要看看看过的 ...

  7. 使用Python制作的词云图

    文章目录 1.何为词云图? 2.前期准备 2.1.开发环境 2.2.需要用到的Python库 3.代码解析 3.1.导入Python库 3.2.以只读模式打开.txt 3.3.预处理文本和背景图片 3 ...

  8. Python数据可视化 Pyecharts 制作 WordCloud 词云图

    大家好,我是Mr数据杨.想象一下,Python中的"WordCloud"就像三国演义中的烽火台,就像曹操视察北方边境,一眼就能看到哪里的火焰最为热烈,代表哪里的军情最为紧急.这是& ...

  9. 词云图 - WorldCloud - Python代码实现

    目录 第一步:安装必要的包WorldCloud(安装好并且没有出错的可跳过这一步) 第二步:准备文件,词云图的图片和文章,按照自己喜好准备吧 第三步:Python实现-源码 第一步:安装必要的包Wor ...

  10. 【情感打分+情感判定+词云图】python情感分析李子柒频道视频热门英文评论

    目录 一.事件背景 二.python代码讲解 三.同步讲解视频 四.获取python源码文件 一.事件背景 今天是2021.12.2日,距离李子柒断更已经4个多月了,这是我在YouTube李子柒油管频 ...

最新文章

  1. 10行代码AC——UVa 10940(Throwing cards away II 数学规律+约瑟夫环)
  2. (1)解锁MongoDB replica set核心姿势
  3. Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21
  4. (03)System Verilog 通用总线激励驱动方法
  5. oracle中ak约束,Oracle自定义聚集函数
  6. 荔枝糖FPGA开发板相关博客
  7. Integer的自动装箱底层缓存原理
  8. Linux中安装WPS
  9. 《PMP学习笔记》11.6 子过程:规划风险应对
  10. java 伊甸园_离伊甸园仅一步之遥
  11. 简单计算空气质量指数
  12. 如何查看云服务器的磁盘空间大小?
  13. 模拟二进制交叉算子(SBX)与多项式变异(PM)
  14. 适用选择并遮住抠人物头发丝
  15. 04.HTML基础-表单标签基础标签
  16. 计算机对无人机专业的发展前景,无人机应用专业就业前景大好! 2019年4月1日,人力资源社会保...
  17. 【程序设计】浅拷贝与深拷贝
  18. Java判断Long类型相等问题
  19. 【PC】完美解决 office2010 错误1920 未能启动服务 “Office Software Protection Platform”(osppsvc)
  20. 打造汽车“安卓平台”,大众或亲手干掉传统汽车产业

热门文章

  1. 【学术】论文返修时,能否增加作者或变更作者顺序?
  2. 记DeeCamp 2019夏面试
  3. java idisposable_IDisposable实现 - 'if (disposing)'应该怎么做
  4. MATLAB实现LSBR并采用卡方分析进行分析
  5. windows驱动开发——使用sys文件
  6. 2016 server win 假死_Win7运行程序无缘无故发生假死现象五种解决方法
  7. 2020腾讯广告算法大赛——算法小白的复盘
  8. 2014全国计算机等级考试四级数据库工程师考试大纲,全国计算机等级考试四级数据库工程师考试大纲...
  9. 三阶段最小二乘法 回归分析 3SLS python实现
  10. SWA(随机权重平均)