相信大家也都通过各种渠道了解了老干妈与鹅厂的爱恨纠缠,当然其中还混入了迷惑行为的“骗子”、吃瓜吃得飞起的“阿里系”以及连称此事与我无关的“某搜索引擎”。

不过这是一篇技术文,所以无心管他到底是谁的老干妈,一心只想给大家介绍这个惊艳的好东西。

我事先分别用python爬取了腾讯和老干妈的回应微博下的评论(老干妈没有微博,换成了老干妈警方公告下的评论),jieba分词得到结果后,分别制作词云。左边是用经典的wordcloud,右侧则是今天的主角stylecloud。

stylecloud简介

对我而言,平时python制作词云主要使用wordcloud,如果在可视化的过程还要用Pyecharts做其他图,那么词云也干脆就用Pyecharts制作了。上一篇文章《Python爬取弹幕,发现看剧不如爬山?》中就是用的stylecloud,有同学也觉得颜值颇高,那今天就带大家捋一捋它的使用方法。

stylecloud 是一个 Python 包,一位数据科学家Max Woolf基于wordcloud优化改良而成。并添加了一些有用的功能,从而创建出独特的词云。

官方示例

需要本文所有详细数据及代码的同学申请QQ群:705933274  免费领取

stylecloud 具备以下特点:[1]

  • 为词云提供(任意大小)的图标形状(通过 Font Awesome 5.11.2 获得);
  • 支持高级调色板(通过 palettable 实现);
  • 为上述调色板提供直接梯度;
  • 支持读取文本文件,或预生成的 CSV 文件(包含单词和数字);
  • 提供命令行接口。

两行代码

stylecloud的对于处理英文词云有个酷炫的功能,可以实现两行代码实现词云,一行导入stylecloud,另外一行直接调用。

不过我们还是要先安装包 ↓

pip3 install stylecloud

以这里的Trump.txt为例,它是特朗普当选美国总统的演讲稿,直接生成词云。

from stylecloud import gen_stylecloud
gen_stylecloud(file_path='Trump.txt')

生成效果如下:

是不是非常快捷高效,不过对于中文文本我们还是需要先分词再做处理。

蒙版

影响词云颜值的问题之一就是蒙版图片的生成。

自己制作的要么分辨率不统一,要么需要调整对比度,比较麻烦。stylecloud是直接使用Font Awesome这个现成的方案,wordcloud其实也可以用。

网址:https://fontawesome.com/license/free

在stylecloud \ static的文件夹中,有一个fontawesome.min.css文件包含了巨量的图标,你可以定期到官方网站去升级这个图标库。[2]

打开发现里面包含很多图标的代码,具体长什么样呢?

fontawesome.min.css文件内容

多亏有中文网站分门别类罗列了图标的样子和名字,

比如:https://fontawesome.dashgame.com/

它最新版地址:https://fa5.dashgame.com/#/%E5%9B%BE%E6%A0%87,图标介绍更详细,分类更全面,不过经常抽风。

非常多的图标

使用方法如下:

如果我们想要使用小狗的蒙版,只需先查找到它的图标名字fa-dog,再加入到参数中icon_name='fas fa-dog'即可。

stylecloud.gen_stylecloud(text=' '.join(text1), collocations=False,font_path=r'‪C:\Windows\Fonts\msyh.ttc',icon_name='fas fa-dog',size=400,output_name='词云.png')

然后我换了一堆小动物的蒙版,生成了如下的词云动图:

部分动物蒙版

其实企鹅并没有在动物里找到,不过我想起来了QQ的图标就是,但是替换后是报错的。原来品牌的图标前缀与其他不同,需要改为icon_name='fab fa-qq',这样就可以啦。

配色

配色是影响词云颜值的又一大问题。stylecloud同样找到了比较好的方案,配色方案是使用的高级调色板palettable来实现了。

palettable 网站:https://jiffyclub.github.io/palettable/

这是一款专业的配色网站,非常适合我们这种对词云的美观有一点小追求的人。

里面的配色方案超级多,随便点击几个给大家预览一下:

我们可以通过修改参数palette='配色方案'来达到更改自己词云配色的目的。

stylecloud.gen_stylecloud(text=' '.join(text1), collocations=False,palette='tableau.BlueRed_6',font_path=r'‪C:\Windows\Fonts\msyh.ttc',icon_name='fab fa-qq',size=400,output_name='腾讯-词云.png')

部分配色方案

其他参数

以下参数对 stylecloud Python 函数和 CLI 均有效,你可以通过 stylecloud -h 获取这些参数的信息。[3]

  • text:输入文本。最好在直接调用函数时使用。
  • file_path:输入文本/CSV 的文件路径。最好在 CLI 上使用。
  • gradient:梯度方向。(其默认值是 None,如果它的值不是 None,则 stylecloud 使用了方向性梯度。)[default: None]
  • size:stylecloud 的大小(长度和宽度)。[default: 512]
  • icon_name:stylecloud 形状的图标名称(如 fas fa-grin)。[default: fas fa-flag]
  • palette:调色板(通过 palettable 实现)。[default: cartocolors.qualitative.Bold_6]
  • background_color:背景颜色。[default: white]
  • max_font_size:stylecloud 中的最大字号。[default: 200]
  • max_words:stylecloud 可包含的最大单词数。[default: 2000]
  • stopwords:布尔值,用于筛除常见禁用词。[default: True]
  • output_name:stylecloud 的输出文本名。[default: stylecloud.png]
  • font_path:stylecloud 所用字体 .ttf 文件的路径。[default: uses included Staatliches font]
  • random_state:控制单词和颜色的随机状态。

上面参数由机器之心翻译自stylecloud的github介绍,我就直接引用,不班门弄斧了。

更多详情可以打开链接:https://github.com/minimaxir/stylecloud

小结

最后终于挑选好了自己喜欢的参数,成功生成“腾讯”微博下的评论词云:

import stylecloud
from IPython.display import Image stylecloud.gen_stylecloud(text=' '.join(text1), collocations=False,font_path=r'‪C:\Windows\Fonts\msyh.ttc',icon_name='fab fa-qq',size=400,output_name='腾讯-词云.png')
Image(filename='腾讯-词云.png')

封面中的右图

对于颜值要求稍微高一点的同学,可以使用Adobe Photoshop、Adobe Illustrator继续美化图片呦!

在这里还是要推荐下我自己建的Python学习Q群:705933274,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

一款高颜值的词云包让我拍案叫绝,我爷爷看了都能学会相关推荐

  1. 蜻蜓fm收音机电脑版_听腻了无版权的云村,不妨回归淳朴,试试这款高颜值的FM...

    不知道你的云村歌单已经毁了多少,巨头的版权之争受伤最深的就是我们了,想安心听个歌怎么就那么难呢? 听腻了无版权的云村,不妨回归淳朴,试试这款高颜值的FM,今天我就推荐给大家一款颜值非常高的FM应用-- ...

  2. 一款高颜值的 SpringBoot+JPA 博客项目

    今日推荐 推荐3个快速开发平台 前后端都有 项目经验又有着落了推荐一个高仿微信的项目 有点屌!!一二线城市知名 IT 互联网公司名单(新版) 项目介绍 项目采用SpringBoot框架 + JPA持久 ...

  3. 什么蓝牙耳机颜值高?盘点四款高颜值蓝牙耳机

    随着现代社会的快速发展,耳机已经成为人们逃避现实所必需的工具.而且,不管是在上下班的路上,还是在繁华的街道上,都能发现,耳机几乎成了人们的必需品,下面我挑选了四款高颜值蓝牙耳机,这几款从颜值到实用性都 ...

  4. 哪款蓝牙耳机的音质好?盘点四款高颜值蓝牙耳机

    现在年轻的朋友们都喜欢在上班乘坐交通工具时.外出旅行时.阅读图书时利用闲暇的片段来欣赏音乐,随着大家对于产品外观和音质都很关注,所以挑选外观时尚音质动听的蓝牙耳机产品的需求就变的很重要.今天就推荐几款 ...

  5. 推荐一款高颜值第三方网易云客户端: YesPlayMusic

    文章首发于公号「阿拉平平」 有需要的小伙伴可以到公众号后台回复 yesplay 获取安装包 闲来无聊,打开了网易云客户端,不经意间听到了首好歌,于是翻看评论寻求共鸣.浏览过后,我从起初的兴奋到疑惑,再 ...

  6. Pomotroid 使用指南:一款高颜值 PC 端番茄时钟

    文章首发于个人公众号:「阿拉平平」 番茄工作法作为一套高效易行的时间管理方案,是由意大利人弗朗西斯科·西里洛于 1992 年创立的.作者发明的初衷源自于自身严重的拖延症,于是他找来一个厨房用的番茄计时 ...

  7. JSON 解析,一款高颜值的 JSON 数据解析查看工具

    JSON 解析 一款高颜值的 JSON 数据解析查看工具,无需网络加载,本地即可运行,支持Object和Array两种数据格式,可以方便查看JSON数据. Git 地址:https://github. ...

  8. github精选-一款高颜值的Redis客户端

    作为开发者,Redis大家都不陌生,一个开源的.高性能的.基于内存运行的键值对数据库,常用来做缓存,Session共享服务器等,进大厂面试必问的内容,公众号后台回复Redis领取关于 Redis 的面 ...

  9. 2022适合学生党的蓝牙耳机有哪些?四款高颜值蓝牙耳机推荐

    在曾经的PC端竞技游戏领域中,一句"操作不够,外设来凑"可谓是耳熟能详.虽然只是一句调侃,但优秀的外设配置,无疑可以让自己在对局中的操作获得如虎添翼般的提升.蓝牙耳机也是如此,外表 ...

  10. 高级考题_理论干货最最直观的词云分布,带你一次看清天大考题端倪!

    一切为了学生 / 责任重于泰山教学至今沉淀 5 年 / 老学员口碑相传    21年考研,我们的目标是 为了实现学生的梦想而努力!微博超话打卡互相督促进步:丹姐66911考研陪跑计划6:早上6点晨起与 ...

最新文章

  1. Magento如何使用和设置CookieSession
  2. linux shell if [[ ]]和[ ]区别 ||
  3. 【网易严选】iOS持续集成打包(Jenkins+fastlane+nginx)
  4. 模拟实现顺序表ArrayList1(三级)
  5. 机器学习:贝叶斯和优化方法_Facebook使用贝叶斯优化在机器学习模型中进行更好的实验
  6. 面试题 为什么用线程池?解释下线程池参数
  7. UltraISO制作linux启动盘(包含写入不完整解决方法)
  8. window2003 httpdns
  9. html mysql查询_mysql查询
  10. 图片相似度识别在线_玩转腾讯词向量:词语相似度计算和在线查询
  11. 非线性动力学_matlab应用1:非线性动力学系统理论部分
  12. 高级售后客户服务处理专员题库
  13. jest中的mock,jest.fn()、jest.spyOn()、jest.mock()
  14. Python爬取码市项目
  15. w ndows无法连接到System,Windows无法连接到System Event Notification Service 服务
  16. scratch成语接龙 电子学会图形化编程scratch等级考试四级真题和答案解析2021-9
  17. 按Enter键调用登录按钮
  18. 网络安全之KALI使用
  19. vector(向量)的简单操作
  20. 专家系统java编程_专家系统的Java实现

热门文章

  1. mac nmap 的下载
  2. 原子互换:一统公链江湖的神来之笔
  3. 神来之笔--图解JVM内存分配及对象存储
  4. 无线通信与编码_MATLAB实现OFDM载波频偏估计_含仿真代码
  5. k8s中对pod设置限制只设置了limits
  6. Python-温度转换
  7. React学习笔记—简易信息管理,实现CUD
  8. Ceph 知识摘录(Ceph对象存储网关中的索引工作原理)
  9. Linux下的motion detection(最简单的办公室监控系统) 邮件自动发送
  10. 国内首届 Flutter Festival 为热爱开启!