为词云提供(任意大小)的图标形状(通过 Font Awesome 5.11.2 获得);
支持高级调色板(通过 palettable 实现);
为上述调色板提供直接梯度;
支持读取文本文件,或预生成的 CSV 文件(包含单词和数字);
提供命令行接口。
pip3 install stylecloud
import stylecloud
stylecloud.gen_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',
gradient='horizontal')
stylecloud --file_path constitution.txt
stylecloud --file_path constitution.txt --icon_name 'fas fa-dog' --palette colorbrewer.diverging.Spectral_11 --background_color black --gradient horizontal
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 后,你可能想做一些后处理:例如添加颜色掩码,添加感知偏移,将 stylecloud 输入风格迁移 AI 模型等等。
max_font_size 的默认值 200 与 size 的默认值 512 呈正相关,如要增加 size,你还需要考虑增加 max_font_size 的值。
由于 stylecloud 内置 Font Awesome 字体文件的大小,它们不会在 Font Awesome 每次小型新发布时进行更新。
推荐使用大且重的 Font Awesome 图标,轻图标可能会过度约束文本。
如果使用默认随机颜色采样(random-color-sampling)方法,推荐使用 qualitative 调色板。反之,如果使用颜色梯度,推荐使用非 qualitative 调色板(如 sequential 调色板)。
展望
支持自定义字体文件(如 Font Awesome Pro);
创建一个运行 stylecloud 的 app。