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

科技   科技   2024-11-21 08:10   天津  


点击上方"蓝字",关注"Python当打之年"
后台回复"1",领取众多Python学习资料
大家好,我是欧K~
水球图是一种非常适合展现百分比数据的图表,在工作中,我们往往需要定期汇报工作进度,比如完成率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('基本水球图-6.html')
效果:

3. 更多可视化源码
👉 公众号后台回复【可视化项目源码】获取更多可视化代码+数据
END
以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、点在看也可以分享到朋友圈让更多人知道哦

 往期推荐 
【01-50】Pthon可视化系列文章资源(源码+数据)
爬虫 | Python爬取某平台杭州二手房数据
爬虫 | Python搞定软科中国大学排名
爬虫 | Python爬取胡润百富榜数据
爬虫 | Python爬取微博实时热搜榜信息
爬虫 | Python爬取B站榜排行榜信息

可视化 | Flask+Mysql+Echarts 豆瓣电影Top250数据分析系统

Pandas+Pyecharts | 上海链家二手房数据分析可视化
机器学习 | 基于KNN近邻和随机森林模型对用户转化进行分析与预测
Pandas+Pyecharts | 全国热门旅游景点数据分析可视化
Pandas+Pyecharts | 深圳市共享单车数据分析可视化
Pandas+Pyecharts | 暑期档电影票房数据分析可视化
Pandas+Pyecharts | 平均预期寿命数据可视化
Pandas+Pyecharts | 杭州二手房数据分析可视化
Pandas+Pyecharts | 当当网畅销图书榜单数据分析可视化
Pandas+Pyecharts | 海南旅游攻略数据分析可视化
Pandas+Pyecharts | 全国海底捞门店数据分析可视化
Pandas+Pyecharts | 京东某商品销量数据分析可视化
Pandas+Pyecharts | 第七次人口普查数据分析可视化
Pandas+Pyecharts | 快手APP全国大学生用户数据分析可视化
Pandas+Pyecharts | 奥迪汽车销量数据分析可视化
Pandas+Pyecharts | 剧荒了?用Python找找最近的热播好剧!
Pandas+Pyecharts | 2023年胡润百富榜数据分析可视化
Pandas+Pyecharts | 2023软科中国大学排名分析可视化

Pandas+Pyecharts | 成都大运会奖牌数据分析可视化

Pandas+Pyecharts | 电子产品销售数据分析可视化+用户RFM画像
Pandas+Pyecharts | 北京近五年历史天气数据可视化
Pandas+Pyecharts | 中国高校及专业数据分析可视化
Pandas+Pyecharts | 新冠疫情数据动态时序可视化
Pandas+Pyecharts | 全国吃穿住行消费排行榜,最‘抠门’的地区居然是北京!!!
Pandas+Pyecharts | 2022世界500强数据分析可视化
Pandas+Pyecharts | 上海市餐饮数据分析可视化
Pandas+Pyecharts | 山东省高考考生数据分析可视化
Pandas+Pyecharts | 20000+天猫订单数据可视化
Pandas+Pyecharts | 40000+汽车之家数据分析可视化
Pandas+Pyecharts | 广州市已成交房源信息数据可视化
Pandas+Pyecharts | 某直聘平台招聘信息数据可视化
可视化 | 再分享一套Flask+Pyecharts可视化模板二
可视化 | 分享一套Flask+Pyecharts可视化模板
可视化 | Python直观展示中国代表团冬奥会荣耀时刻
用Python分析了3W+《独行月球》影评数据,看看观众们怎么说~
Matplotlib | 世界足球俱乐部排名可视化
40000+条考研信息数据可视化(学校、专业分数分布)

【在看】的您又变好看了呢

Python当打之年
当打之年,专注于各领域Python技术,量的积累,质的飞跃。后台回复:【可视化项目源码】可获取可视化系列文章源码和数据
 最新文章