词云进阶:神奇的stylecloud

Posted Real&Love

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了词云进阶:神奇的stylecloud相关的知识,希望对你有一定的参考价值。

如果想了解更多有趣的项目和小玩意,都可以来我这里哦通道

stylecloud介绍

stylecloud基于wordcloud库,使用方法更简单一些,我们可以基于此创造更多好看和独特的词云,so good!
该库有以下的特点:

  • Wordcloud的图标形状(任何大小!)这里是一些字云(via Font Awesome 5.13.0 Free, or your own Font Awesome Pro))
  • 支持高级调色板(通过调色板)
  • 文本和背景的手动颜色选择,
  • 带上述调色板的方向梯度。
  • 支持阅读文本文件和 CSV(单列带文本,或两列带单词+重量)。
  • 命令行接口

安装stylecloud

安装我们的stylecloud还是非常简单的

pip install stylecloud

简单的stylecloud

如果我们有US的宪法文件 constitution.txt ,我们可以在Python脚本中或作为独立的CLI应用程序使用stylecloud

import stylecloud

stylecloud.gen_stylecloud(file_path='constitution.txt')

在这里插入图片描述

自定义调色板

除此之外,我们可以做的更多! 您可以使用免费的Font Awesome图标来更改形状,将调色板从可调色板更改为自定义样式,更改背景颜色,最重要的是,添加渐变以使颜色沿指定方向流动!

# 导入需要的库stylecloud
import stylecloud

# 调整参数file_path,icon_name,palette,backgound_color,gradient,自定义样式,添加渐变以使颜色沿指定方向流动!
stylecloud.gen_stylecloud(file_path='constitution.txt',
                          icon_name='fas fa-dog',
                          palette='colorbrewer.diverging.Spectral_11',
                          background_color='black',
                          gradient='horizontal')

在这里插入图片描述
我们也可以使用CLI(命令行 command Line interface)来更快地生成stylecloud! 对于上面的简单标志stylecloud:

stylecloud --file_path constitution.txt

对于更复杂的狗渐变stylecloud:

stylecloud --file_path constitution.txt --icon_name ‘fas fa-dog’ --palette colorbrewer.diverging.Spectral_11 --background_color black --gradient horizontal

stylecloud常用参数

  • text: 输入文字 最适合直接调用函数时使用
  • file_path:CSV的文件路径,需要注意的是csv文件格式为两列(word, freq)
  • 梯度:梯度的方向 (如果不是None,stylecloud将使用方向渐变)[默认值:None]
  • size:词云图尺寸,stylecloud的大小(以像素为单位的长度和宽度),或代表stylecloud宽度和高度的两个元素的元组([默认值:512]
  • colors:用作文本颜色的颜色。如果指定,则覆盖渐变和调色板[默认:无]
  • custom_stopwords: 自定义停用词列表
  • output_name:输出的词云图路径
  • font_path:字体路径
  • icon_name:stylecloud形状的图标名称(fas fa-iconname)只需要改iconname,[默认值: fas fa-flag]
  • palette:调色板(通过 palettable 实现)[默认值:cartocolors.qualitative.Bold_5]
  • background_color:词云图背景色[默认值:white]
  • max_font_size:词云图最大字号[默认值:200]
  • max_words:要包含在stylecloud中的最大单词数。 [默认值:2000]
  • random_state:控制单词和颜色的随机状态,如不设置,每次运行的效果会发生变化
  • invert_mask:是否反转图标掩码,因此单词填充了除图标掩码以外的所有空间。 [默认值:False]
  • pro_icon_path:如果使用FA Pro,则指向Font Awesome Pro .ttf文件的路径。 [默认值:无]
  • pro_css_path:如果使用FA Pro,则指向Font Awesome Pro .css文件的路径。 [默认值:无]

这些可以在命令行模型下,通过stylecloud -h得到

自定义文字颜色

我们可以使用colors参数手动指定文本的颜色,从而覆盖调色板。 这对于特定的品牌或高对比度的可视化很有用。 但是,手动颜色选择不适用于渐变。

# 导入需要的库stylecloud
import stylecloud

# 定义文字颜色和背景颜色
stylecloud.gen_stylecloud(file_path='constitution.txt',
                          colors=['#ecf0f1', '#3498db', '#e74c3c'],
                          background_color='#1A1A1A')

在这里插入图片描述
CIL模式

stylecloud --file_path constitution.txt --colors “[’#ecf0f1’, ‘#3498db’, ‘#e74c3c’]” --background_color ‘#1A1A1A’

Stopwords

停用词为了过滤掉非英语语言的停用词或使用自定义停用词,您可以将单词列表传递给custom_stopwords参数:

# 导入需要的库stylecloud
import stylecloud
# build我们的stopwords
my_long_list = ["thereof", "may", "state", "united states"]

stylecloud.gen_stylecloud(file_path='constitution.txt',
                          custom_stopwords=my_long_list)

CIL模式

stylecloud --file_path constitution.txt --custom_stopwords “[thereof, may, state, united states]”

不同语言的停用词是不同的,如果我们需要找停用词,可以去 stop-words Python packageISO stopword

好玩的stylecloud实例Hello World

最基本的stylecloud

import stylecloud

stylecloud.gen_stylecloud(file_path='constitution.txt')

CIL:

stylecloud --file_path constitution.txt

在这里插入图片描述

自定义图标,调色板和背景

import stylecloud

stylecloud.gen_stylecloud(file_path='constitution.txt',
                          icon_name='fas fa-dog',
                          palette='colorbrewer.diverging.Spectral_11',
                          background_color='black')

CLI:

stylecloud --file_path constitution.txt --icon_name ‘fas fa-dog’ --palette colorbrewer.diverging.Spectral_11 --background_color black

在这里插入图片描述

增加梯度

指定渐变方向(horizontal or vertical)将使单词表现得好像受颜色渐变的影响。 强烈建议您在添加渐变时使用非默认调色板(即非定性调色板)。

import stylecloud

stylecloud.gen_stylecloud(file_path='constitution.txt',
                          icon_name='fas fa-dog',
                          palette='colorbrewer.diverging.Spectral_11',
                          background_color='black',
                          gradient='horizontal')

CIL:

stylecloud --file_path constitution.txt --icon_name ‘fas fa-dog’ --palette colorbrewer.diverging.Spectral_11 --background_color black --gradient horizontal

在这里插入图片描述
好咯,这些好像前面都出现过了,好像是否是有点无趣,那我们正片开始了

对文本使用特定的颜色

import stylecloud

stylecloud.gen_stylecloud(file_path='constitution.txt',
                          colors='white',
                          background_color='#1A1A1A')

CIL:

stylecloud --file_path constitution.txt --colors white --background_color ‘#1A1A1A’
在这里插入图片描述

非方形尺寸

如果您希望stylecloud更加简约,则可以指定非正方形大小。(或制作出优质的桌面墙纸)

import stylecloud

stylecloud.gen_stylecloud(file_path='constitution.txt',
                          icon_name='fas fa-globe',
                          colors='white',
                          background_color='#1A1A1A',
                          size=(768, 512))

CIL:

stylecloud --file_path constitution.txt --icon_name ‘fas fa-globe’ --colors ‘white’ --background_color ‘#1A1A1A’ --size ‘(768, 512)’

在这里插入图片描述

反转遮罩

您可以反转遮罩(Invert Mask),以使文本占据除图标遮罩之外的所有区域。 非常适合较薄的图标和非方形尺寸!

import stylecloud

stylecloud.gen_stylecloud(file_path='constitution.txt',
                          icon_name='fas fa-globe',
                          colors='white',
                          background_color='#1A1A1A',
                          size=(768, 512),
                          invert_mask=True)

stylecloud --file_path constitution.txt --icon_name ‘fas fa-globe’ --colors ‘white’ --background_color ‘#1A1A1A’ --size ‘(768, 512)’ --invert_mask True

在这里插入图片描述

Twitter 图标

import stylecloud
stylecloud.gen_stylecloud(file_path = "2009-01-20-inaugural-address.txt", icon_name= "fab fa-twitter", palette="cartocolors.diverging.TealRose_7", background_color="black")

在这里插入图片描述

使用Font Awesome Pro

使用Font Awesome Pro的示例。 假定您正在使用Font Awesome Pro许可使用的字体和CSS文件。 如果已登录,则可以在Font Awesome Download page页面上下载Pro文件。 stylecloud与FA duotone风格不兼容。

简单的FA stylecloud

必须同时提供pro_icon_path和pro_css_path

import stylecloud

stylecloud.gen_stylecloud(file_path='constitution.txt',
                          icon_name='fal fa-meh-rolling-eyes',
                          palette='colorbrewer.sequential.YlOrRd_9',
                          background_color='black',
                          gradient='vertical',
                           pro_icon_path='fa-regular-400.ttf',
                           pro_css_path='fontawesome.min.css',
                         output_name='stylecloud7.png')

在这里插入图片描述

import stylecloud

stylecloud.gen_stylecloud(file_path='constitution.txt',
                          icon_name='fal fa-meh-rolling-eyes',
                          palette='colorbrewer.sequential.YlOrRd_9',
                          background_color='black',
                          gradient='vertical',
                          pro_icon_path='fa-regular-400.ttf',
                          pro_css_path='fontawesome.min.css',
                          invert_mask=True,
                          output_name='stylecloud8.png')

在这里插入图片描述
我还找了一个寺庙的图片来显示《那一世》

import stylecloud

stylecloud.gen_stylecloud(file_path='那一世.txt',
                         output_name='stylecloud9.png',
                          palette='colorbrewer.sequential.Greens_5',
                         icon_name='fas fa-vihara',
                         background_color='black',
                         gradient='vertical',
                         font_path='simsun.ttf',
                         )

在这里插入图片描述

高考加油

在这里插入图片描述

以上是关于词云进阶:神奇的stylecloud的主要内容,如果未能解决你的问题,请参考以下文章

Python制作词云--stylecloud简单使用

让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)

Python stylecloud制作酷炫的词云图

stylecloud.gen_stylecloud() 参数详解

stylecloud.gen_stylecloud() 参数详解

资讯 | CSS 命名规范,加速你的代码调试;神奇“Bug”——小范围深入 HTTP 协议;深度学习教程;进阶UI:一维分析法