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

文章目录

    • 1. 准备工作
      • 1.1 pyechars安装
      • 1.2 导入模块
    • 2. 绘制水球图
      • 2.1 基本水球图
      • 2.2 增加边框,改变形状
      • 2.3 多波浪
      • 2.4 增加标注,改变字体大小,改变填充颜色
      • 2.5 多图并列显示
    • 推荐阅读

大家好,我是欧K。
水球图是一种非常适合展现百分比数据的图表,在工作中,我们往往需要定期汇报工作进度,比如完成率60%,业绩完成80%等等,使用水球图可以达到很不错的数据展示效果。本期给大家分享如何使用python绘制各种精美的动态水球图,希望对你有所帮助。
可视化 | Python精美动态水球图_第1张图片
可视化 | Python精美动态水球图_第2张图片

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')
)

效果:
可视化 | Python精美动态水球图_第3张图片

水球外形,有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')
)

效果:
可视化 | Python精美动态水球图_第4张图片

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')
)

效果:
可视化 | Python精美动态水球图_第5张图片

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')
)

效果:
可视化 | Python精美动态水球图_第6张图片

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精美动态水球图_第7张图片


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享让更多人知道哦

推荐阅读

基础 | Python函数一文详解
技巧 | 20个Pycharm最实用最高效的快捷键(动态展示)
技巧 | 5000字超全解析Python三种格式化输出方式【% / format / f-string】
爬虫 | Python送你王者荣耀官网全套皮肤
爬虫 | 用python构建自己的IP代理池,再也不担心IP不够用啦!
可视化 | Python制作最炫3D可视化地图
可视化 | 动起来的中国大学排名,看看你的母校在哪里

微信公众号 “Python当打之年” ,每天都有python编程技巧推送,希望大家可以喜欢
在这里插入图片描述

你可能感兴趣的:(Python可视化,Python技巧)