StyleCloud | 数据美化神器

本文介绍如何使用StyleCloud库美化词云,包括调整形状、颜色和梯度等特性。提供了详细的代码实例,演示如何实现这些定制选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

后台回复1024,解锁无限快乐!

StyleCloud的特点

1、可以使用 Font Awesome 提供的免费图标更改词云的形状。

2、通过 palettable 更改调色板以自定义风格,更改背景颜色。

3、加梯度使颜色按照特定方向流动。

StyleCloud的安装

pip install stylecloud

使用StyleCloud创建词云

待美化的数据:

代码:

执行代码过程:

生成的ok.png:

原图:

修改词云的配色

StyleCloud的配色使用了palette样式。

详情点击:https://jiffyclub.github.io/palettable/

代码:

配色方案:

生成的ok.png:

修改词云的形状

StyleCloud的默认形状为旗帜,同时支持Font Awesome提供的免费形状。

详情点击:https://fontawesome.dashgame.com/

代码:

选择的形状:

生成的ok.png:

修改词云颜色的梯度方向

如上,StyleCloud的默认的颜色梯度为随机。我们可以通过梯度参数来对颜色梯度进行控制。

水平梯度(代码):

水平梯度(结果):

将待美化的数据替换为字更多的内容,梯度效果更明显。

可以看到,颜色的过渡效果为水平变化。

垂直梯度(代码):

垂直梯度(结果):

可以看到,颜色的过渡效果为垂直变化。

StyleCloud的其他属性

text=None,
file_path=None, # 输入文本/CSV 的文件路径
size=512, # stylecloud 的大小(长度和宽度)
icon_name='fas fa-flag', # stylecloud 形状的图标名称(如 fas fa-grin)。[default: fas fa-flag]
palette='cartocolors.qualitative.Bold_5', # 调色板(通过 palettable 实现)。[default: cartocolors.qualitative.Bold_6]
colors=None,
background_color="white", # 背景颜色
max_font_size=200, # stylecloud 中的最大字号
max_words=2000, # stylecloud 可包含的最大单词数
stopwords=True, # 布尔值,用于筛除常见禁用词
custom_stopwords=STOPWORDS,
icon_dir='.temp',
output_name='stylecloud.png', # stylecloud 的输出文本名
gradient=None, # 梯度方向
font_path=os.path.join(STATIC_PATH,'Staatliches-Regular.ttf'), # stylecloud 所用字体
random_state=None, # 控制单词和颜色的随机状态
collocations=True,
invert_mask=False,
pro_icon_path=None,
pro_css_path=None

奉上完整代码

from stylecloud import gen_stylecloud
import jieba

def gen_wd(file_path):
    with open(file_path,mode='r',encoding='utf-8') as f:
        wds = jieba.cut(f.read())
        result = ' '.join(wds)

        gen_stylecloud(
            text=result,
            font_path='C:\\Windows\\Fonts\\simhei.ttf',
            background_color= 'black',
            output_name='ok.png',
            # 增加配色方案
            palette='cartocolors.qualitative.Bold_7',
            # 修改形状为桃心
            icon_name='fas fa-heart',
            # 设置梯度方向
            gradient='vertical',
            )

if __name__ == "__main__":
    gen_wd('test.txt')

往期推荐

数据美化 | Python词云wordcloud

数据美化 | 带形状的Python词云wordcloud

数据美化 | 更清晰的Python词云wordcloud

点亮在看!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值