python制作炫酷的水球图

点击上方“Python数据分析之禅”,关注并回复“福利1

可免费获取数据分析视频


水球图是一种适合于展现单个百分比数据的图表类型,pyecharts模块能够非常方便画出水球图,进而实现酷炫的数据展示效果。

下面给大家介绍一下常见水球图的实现方法:

一、基本水球图

1
2
3
4
5
6
7
8
9
from pyecharts import options as opts
from pyecharts.charts import Liquid
 
c = (
    Liquid()
    .add("lq", [0.6, 0.7])
    .set_global_opts(title_opts=opts.TitleOpts(title="基本形状"))
)
c.render_notebook()

 

 

这是最基本的水球图

二、改变水球形状和颜色

1
2
3
4
5
6
7
8
9
10
11
from pyecharts import options as opts
from pyecharts.charts import Liquid
from pyecharts.globals import SymbolType
 
c = (
    Liquid()
    .add("lq", [0.3, 0.7], shape=SymbolType.TRIANGLE,
         color=['#4B0082'])
    .set_global_opts(title_opts=opts.TitleOpts(title="Liquid-Shape-rect"))
)
c.render_notebook()

 

 

通过设置以下参数,可以变换水球的形状和颜色

color:改变水的颜色,注意,颜色是列表形式 
shape:改变形状,水球外形,有' circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' 可选

三、不显示外边框、多波浪

1
2
3
4
5
6
7
8
9
10
from pyecharts import options as opts
from pyecharts.charts import Liquid
from pyecharts.globals import SymbolType
 
c = (
    Liquid()
    .add("lq",[0.67, 0.30, 0.15], is_outline_show=False)
    .set_global_opts(title_opts=opts.TitleOpts(title="Liquid-Shape-rect"))
)
c.render_notebook()

 

 

is_outline_show:控制外边框

四、多个水球图显示

将水球按一定规则摆放在一起,用来展示多个数据指标,将会非常美观

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
from pyecharts import options as opts
from pyecharts.charts import Grid, Liquid
from pyecharts.commons.utils import JsCode
 
l1 = (
    Liquid()
    .add("lq", [0.6, 0.7],
         center=["13%", "60%"],
         color=['#3CB371'],
         label_opts=opts.LabelOpts(
         font_size=20,
         formatter=JsCode(
            """function (param) {
                    return ('第一季度:'+Math.floor(param.value * 10000) / 100) + '%';
                }"""
        ),
        position="inside",
    ),)
    .set_global_opts(title_opts=opts.TitleOpts(title="多个 Liquid 显示"))
)
 
l2 = Liquid().add(
    "lq",
    [0.5554],
    center=["38%", "60%"],
    color=['#87CEEB'],
    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.63, 0.7],
         center=["63%", "60%"],
         color=['#FAFAD2'],
         label_opts=opts.LabelOpts(
         font_size=20,
         formatter=JsCode(
            """function (param) {
                    return ('第三季度:'+Math.floor(param.value * 10000) / 100) + '%';
                }"""
        ),
        position="inside",
    ),)
    .set_global_opts(title_opts=opts.TitleOpts(title="多个 Liquid 显示"))
)
 
l4 = Liquid().add(
    "lq",
    [0.4954],
    center=["88%", "60%"],
    color=['#C0C0C0'],
    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()).add(l4, grid_opts=opts.GridOpts())
grid.render_notebook()

 

 

下次可以用这个水球组合图给老板展示年度收益情况,并且绿、蓝、黄、白分别代表春夏秋冬,既美观又有内涵。

-完-

完整代码请扫码关注公众号并回复水球图获取

 

posted @   python小笨鸟  阅读(692)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示