可视化 | 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因其强大库支持和易学性成为数据挖掘的首选语言。本文通过一个电商销售数据案例,演示如何使用Python进行数据预处理(如处理缺失值)、分析(如销售额时间趋势)和可视化(如商品类别销售条形图),揭示数据背后的模式。安装`pandas`, `numpy`, `matplotlib`, `seaborn`后,可以按照提供的代码步骤,从读取CSV到数据探索,体验Python在数据分析中的威力。这只是数据科学的入门,更多高级技术等待发掘。【6月更文挑战第14天】
25 11
|
4天前
|
算法 数据可视化 Python
【KMeans】Python实现KMeans算法及其可视化
【KMeans】Python实现KMeans算法及其可视化
|
7天前
|
SQL 人工智能 数据可视化
教老婆学会用python做可视化 第一篇:你不爱我了
教老婆学会用python做可视化 第一篇:你不爱我了
|
7天前
|
SQL 数据可视化 算法
【python可视化】折线图精粹:重点突出的艺术与技巧
【python可视化】折线图精粹:重点突出的艺术与技巧
|
7天前
|
机器学习/深度学习 数据可视化 数据挖掘
python每日可视化分析:从过去到现代数据分析的演进
python每日可视化分析:从过去到现代数据分析的演进
|
7天前
|
SQL 数据可视化 算法
python可视化每日练习:销售表现的视觉剖析
python可视化每日练习:销售表现的视觉剖析
|
7天前
|
SQL 供应链 数据可视化
python可视化练习:一家运动服装品牌销售数据的可视化改进案例研究
python可视化练习:一家运动服装品牌销售数据的可视化改进案例研究
|
2天前
|
Shell Python
GitHub星标破千Star!Python游戏编程的初学者指南
Python 是一种高级程序设计语言,因其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言。 目前的编程书籍大多分为两种类型。第一种,与其说是教编程的书,倒不如说是在教“游戏制作软件”,或教授使用一种呆板的语言,使得编程“简单”到不再是编程。而第二种,它们就像是教数学课一样教编程:所有的原理和概念都以小的应用程序的方式呈现给读者。
|
2天前
|
机器学习/深度学习 存储 自然语言处理
惊艳!老司机熬夜总结的Python高性能编程,高效、稳定、快速!
Python 语言是一种脚本语言,其应用领域非常广泛,包括数据分析、自然语言处理机器学习、科学计算、推荐系统构建等。 能够轻松实现和代码跑得够快之间的取舍却是一个世人皆知且令人惋惜的现象而这个问题其实是可以解决的。 有些人想要让顺序执行的过程跑得更快。有些人需要利用多核架构、集群,或者图形处理单元的优势来解决他们的问题。有些人需要可伸缩系统在保证可靠性的前提下酌情或根据资金多少处理更多或更少的工作。有些人意识到他们的编程技巧,通常是来自其他语言,可能不如别人的自然。
|
2天前
|
测试技术 虚拟化 云计算
GitHub高赞!速通Python编程基础手册,被玩出花了!
随着云时代的来临,Python 语言越来越被程序开发人员喜欢和使用,因为其不仅简单易学,而且还有丰富的第三方程序库和相应完善的管理工具。 从命令行脚本程序到 GUI程序,从图形技术到科学计算,从软件开发到自动化测试,从云计算到虚拟化,所有这些领域都有 Python 的身影。 今天给小伙伴们分享的这份手册采用以任务为导向的编写模式,全面地介绍了 Python 编程基础及其相关知识的应用,讲解了如何利用 Python 的知识解决部分实际问题。
GitHub高赞!速通Python编程基础手册,被玩出花了!