可视化 | Python绘制精美仪表盘

简介: 可视化 | Python绘制精美仪表盘

本期导读

大家好,我是欧K。

仪表盘是一种拟物化图表,比如我们平时看到的水表,气压表,时速表等,可以很直观的观测数据和设备状态。本期给大家分享如何使用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 Gauge


2. 绘制仪表盘

2.1 基本仪表盘

代码:

c1 = (
    Gauge()
    .add('',
         [("完成率", 80)])
    .set_global_opts(
        title_opts=opts.TitleOpts(title='基本仪表盘'),
        legend_opts=opts.LegendOpts(is_show=False),
    )
    .render("gauge_base.html")
)

效果:

add函数部分参数:

def add(
    # 系列名称,用于 tooltip 的显示,legend 的图例筛选。
    series_name: str,
    # 系列数据项,格式为 [(key1, value1), (key2, value2)]
    data_pair: Sequence,
    # 是否选中图例
    is_selected: bool = True,
    # 最小的数据值
    min_: Numeric = 0,
    # 最大的数据值
    max_: Numeric = 100,
    # 仪表盘平均分割段数
    split_number: Numeric = 10,
    # 仪表盘半径,可以是相对于容器高宽中较小的一项的一半的百分比,也可以是绝对的数值。
    radius: types.Union[types.Numeric, str] = "75%",
    # 仪表盘起始角度。圆心 正右手侧为0度,正上方为 90 度,正左手侧为 180 度。
    start_angle: Numeric = 225,
    # 仪表盘结束角度。
    end_angle: Numeric = -45,
    # 仪表盘刻度是否是顺时针增长。
    is_clock_wise: bool = True,
    # 轮盘内标题文本项标签配置项,参考 `chart_options.GaugeTitleOpts`
    title_label_opts: types.GaugeTitle = opts.GaugeTitleOpts(),
    # 轮盘内数据项标签配置项,参考 `chart_options.GaugeDetailOpts`
    detail_label_opts: types.GaugeDetail = opts.GaugeDetailOpts(formatter="{value}%"),
    # 仪表盘指针配置项目,参考 `chart_options.GaugePointerOpts`
    pointer: types.GaugePointer = opts.GaugePointerOpts(),
    # 提示框组件配置项,参考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,
    # 图元样式配置项,参考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)


2.2 改变刻度盘半径,去掉文字标签

代码

c2 = (
    Gauge()
    .add('', [('', 80)], radius='50%')
    .set_global_opts(title_opts=opts.TitleOpts(title="Gauge-修改 Radius 为 50%"))
    .render('gauge_change_radius.html')
)

效果

2.3 改变刻度盘颜色

代码

c3 = (
    Gauge()
    .add(
        '',
        [('完成率', 80)],
        axisline_opts=opts.AxisLineOpts(
            linestyle_opts=opts.LineStyleOpts(
                color=[(0.3, '#67e0e3'), (0.7, '#37a2da'), (1, '#fd666d')], width=30
            )
        ),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title='改变刻度盘颜色'),
        legend_opts=opts.LegendOpts(is_show=False),
    )
    .render('gauge_color.html')
)

效果

以三段为例,可根据需要自行扩展color参数列表大小。2.4 纯数字显示标签

代码

c4 = (
    Gauge()
    .add(
        '',
        [('完成率', 80)],
        split_number=5,
        axisline_opts=opts.AxisLineOpts(
            linestyle_opts=opts.LineStyleOpts(
                color=[(0.3, "#67e0e3"), (0.7, "#37a2da"), (1, "#fd666d")], width=30
            )
        ),
        detail_label_opts=opts.LabelOpts(formatter='{value}'),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title='纯数字显示'),
        legend_opts=opts.LegendOpts(is_show=False),
    )
    .render("gauge_splitnum_label.html")
)

效果


2.5 速度仪表盘

代码

c3 = (
    Gauge()
    .add(
        '',
        [('时速(Km/h)', 110)],
        split_number=5,
        min_ = 0, #最小刻度
        max_ = 120, #最大刻度
        detail_label_opts=opts.LabelOpts(is_show=False),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title='时速表'),
        legend_opts=opts.LegendOpts(is_show=False),
    )
    .render("gauge_speed.html")
)

效果

END


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

相关文章
|
3月前
|
数据可视化 搜索推荐 大数据
基于python大数据的北京旅游可视化及分析系统
本文深入探讨智慧旅游系统的背景、意义及研究现状,分析其在旅游业中的作用与发展潜力,介绍平台架构、技术创新、数据挖掘与服务优化等核心内容,并展示系统实现界面。
|
3月前
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。
|
3月前
|
机器学习/深度学习 搜索推荐 数据可视化
基于python大数据的音乐可视化与推荐系统
本研究基于Python实现音乐数据采集、清洗、分析与可视化,并结合协同过滤算法构建个性化推荐系统。通过Echarts展示音乐热度及用户偏好,提升用户体验,助力音乐产业智能化发展。
|
3月前
|
搜索推荐 算法 大数据
基于python大数据的旅游景点可视化与推荐系统
本系统基于大数据与网络技术,构建个性化旅游推荐平台。通过收集用户偏好及行为数据,结合机器学习算法,提供精准的旅游目的地、住宿及交通推荐,旨在优化旅游信息传递,提升用户决策效率与旅行体验。
|
4月前
|
数据采集 数据可视化 API
驱动业务决策:基于Python的App用户行为分析与可视化方案
驱动业务决策:基于Python的App用户行为分析与可视化方案
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
287 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
313 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
259 103

推荐镜像

更多