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


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

相关文章
|
2月前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
565 7
|
3月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
146 5
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
3月前
|
数据可视化 搜索推荐 Shell
Python与Plotly:B站每周必看榜单的可视化解决方案
Python与Plotly:B站每周必看榜单的可视化解决方案
|
4月前
|
数据采集 Web App开发 数据可视化
Python爬虫教程:Selenium可视化爬虫的快速入门
Python爬虫教程:Selenium可视化爬虫的快速入门
|
3月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
4月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
490 0
|
9月前
|
数据采集 数据可视化 IDE
用Python获得电影数据并可视化分析
用Python获得电影数据并可视化分析
125 0
|
8月前
|
数据采集 JSON 数据可视化
【Python实战】Python对中国500强排行榜数据进行可视化分析
【Python实战】Python对中国500强排行榜数据进行可视化分析
|
9月前
|
机器学习/深度学习 存储 数据可视化
数据分享|Python在Scikit-Learn可视化随机森林中的决策树分析房价数据
数据分享|Python在Scikit-Learn可视化随机森林中的决策树分析房价数据
106 12

热门文章

最新文章

推荐镜像

更多