可视化 | Python精美动态水球图

前言

水球图是一种非常适合展现百分比数据的图表,在工作中,我们往往需要定期汇报工作进度,比如完成率60%,业绩完成80%等等,使用水球图可以达到很不错的数据展示效果。本期给大家分享如何 使用python绘制各种精美的动态水球图 ,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。

1. 准备工作

1.1 pyechars安装

这里有两种安装方法:

# 方法1  
pip install pyecharts  
  
# 方法2  
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pyecharts

1.2 导入模块

from pyecharts import options as opts  
from pyecharts.charts import Grid, Liquid  
from pyecharts.commons.utils import JsCode

2. 绘制水球图

2.1 基本水球图

c1 = (  
    Liquid()  
    .add('lq',  
         \[0.35\],  
         center\=\['30%', '50%'\],  
         is\_outline\_show=False,  
         shape='circle'  
         )  
    .set\_global\_opts(title\_opts=opts.TitleOpts(title='基本水球图-1',pos\_top='30',pos\_left='10%'))  
    .render('基本水球图-1.html')  
)

效果:

水球外形,有circle, rect, roundRect, triangle, diamond, pin, arrow 可选,通过shape参数选取,默认值为circle。

2.2 增加边框,改变形状

c2 = (  
    Liquid()  
    .add('lq',  
         \[0.35\],  
         center\=\['30%', '50%'\],  
         is\_outline\_show=True,  
         shape='roundRect'  
         )  
    .set\_global\_opts(title\_opts=opts.TitleOpts(title='基本水球图-2',pos\_top='30',pos\_left='10%'))  
    .render('基本水球图-2.html')  
)

效果

is_outline_show参数可设置是否显示外边框。

2.3 多波浪

c3 = (  
    Liquid()  
    .add('lq',  
         \[0.75,0.5,0.2\],  
         center\=\['30%', '50%'\],  
         is\_outline\_show=True,  
         shape='roundRect'  
         )  
    .set\_global\_opts(title\_opts=opts.TitleOpts(title='基本水球图-3',pos\_top='30',pos\_left='10%'))  
    .render('基本水球图-3.html')  
)

效果

2.4 增加标注,改变字体大小,改变填充颜色

c4 = (  
    Liquid()  
    .add('lq',  
         \[0.6\],  
         center=\['30%', '50%'\],  
         is\_outline\_show=True,  
         shape='diamond',  
         color=\['#008B8B'\],  
         label\_opts = opts.LabelOpts(font\_size=30, formatter=JsCode(  
            """function (param) {  
                    return ('完成度:'+Math.floor(param.value \* 10000) / 100) + '%';  
                }"""  
            ),position='inside'),  
         )  
    .set\_global\_opts(title\_opts=opts.TitleOpts(title='基本水球图-4',pos\_top='30',pos\_left='10%'))  
    .render('基本水球图-4.html')  
)

效果

2.5 多图并列显示

l1 = (  
    Liquid()  
    .add('lq',  
         \[0.2\],  
         shape='circle',  
         center=\['20%', '50%'\],  
         label\_opts=opts.LabelOpts(  
             font\_size=20,  
             formatter=JsCode(  
                """function (param) {  
                        return ('完成度:'+Math.floor(param.value \* 10000) / 100) + '%';  
                    }"""  
            ),  
            position='inside',  
            ),  
        )  
)  
  
l2 = (  
    Liquid()  
    .add('lq',  
         \[0.5,0.3\],  
         shape='diamond',  
         center=\['50%', '50%'\],  
         label\_opts=opts.LabelOpts(  
             font\_size=20,  
             formatter=JsCode(  
                """function (param) {  
                        return ('完成度:'+Math.floor(param.value \* 10000) / 100) + '%';  
                    }"""  
            ),  
            position='inside',  
            ),  
        )  
)  
  
l3= Liquid().add(  
    'lq',  
    \[0.85, 0.5, 0.2\],  
    shape='roundRect',  
    center=\['80%', '50%'\],  
    label\_opts=opts.LabelOpts(  
        font\_size=20,  
        formatter=JsCode(  
            """function (param) {  
                    return ('完成度:'+Math.floor(param.value \* 10000) / 100) + '%';  
                }"""  
        ),  
        position='inside',  
    ),  
)  
  
grid = Grid().add(l1, grid\_opts=opts.GridOpts()).add(l2, grid\_opts=opts.GridOpts()).add(l3, grid\_opts=opts.GridOpts())  
grid.render('基本水球图-5.html')

效果

学习资源推荐

除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。

这里给大家展示一下我进的最近接单的截图

私单

😝朋友们如果有需要的话,可以 V扫描下方二维码联系领取,也可以内推兼职群哦~

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

### 1.Python学习路线

image-20230619144606466

python学习路线图1

2.Python基础学习

01.开发工具

02.学习笔记

在这里插入图片描述

03.学习视频

在这里插入图片描述

3.Python小白必备手册

图片

4.数据分析全套资源

在这里插入图片描述

5.Python面试集锦

01.面试资料

在这里插入图片描述

在这里插入图片描述

02.简历模板

在这里插入图片描述

因篇幅有限,仅展示部分资料,添加上方即可获取👆

------ 🙇‍♂️ 本文转自网络,如有侵权,请联系删除 🙇‍♂️ ------
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值