可视化 | 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


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

相关文章
|
1月前
|
数据采集 数据可视化 数据挖掘
基于Python的数据分析与可视化实战
本文将引导读者通过Python进行数据分析和可视化,从基础的数据操作到高级的数据可视化技巧。我们将使用Pandas库处理数据,并利用Matplotlib和Seaborn库创建直观的图表。文章不仅提供代码示例,还将解释每个步骤的重要性和目的,帮助读者理解背后的逻辑。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和技能。
91 0
|
1月前
|
机器学习/深度学习 数据可视化 Python
Python实用记录(三):通过netron可视化模型
使用Netron工具在Python中可视化神经网络模型,包括安装Netron、创建文件和运行文件的步骤。
29 2
Python实用记录(三):通过netron可视化模型
|
8天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
1月前
|
数据采集 Web App开发 数据可视化
Python爬虫教程:Selenium可视化爬虫的快速入门
Python爬虫教程:Selenium可视化爬虫的快速入门
|
28天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
168 0
|
1月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
83 0
|
1月前
|
数据可视化 Python
Python 高级绘图:从基础到进阶的可视化实践
本文介绍了使用 Python 的强大绘图库 matplotlib 实现多种图表绘制的方法,包括简单的折线图、多条折线图、柱状图、饼图、散点图及 3D 图的绘制。通过具体代码示例展示了如何设置轴标签、标题、图例等元素,并指出了 matplotlib 支持更多高级绘图功能。来源:https://www.wodianping.com/app/2024-10/47112.html。
76 0
|
2天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
2天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
4天前
|
设计模式 算法 搜索推荐
Python编程中的设计模式:优雅解决复杂问题的钥匙####
本文将探讨Python编程中几种核心设计模式的应用实例与优势,不涉及具体代码示例,而是聚焦于每种模式背后的设计理念、适用场景及其如何促进代码的可维护性和扩展性。通过理解这些设计模式,开发者可以更加高效地构建软件系统,实现代码复用,提升项目质量。 ####