首页 > 编程笔记 > Python笔记 阅读:9

Python绘制仪表图(附带实例)

仪表图(Gauge chart)是一种用于展示单一指标或数值的图表类型,通常用于显示目标值与实际值之间的差异。

仪表图类似于汽车仪表板上的速度计或油量计,因此也常被称为仪表板图。仪表图通常由一个圆形或半圆形的指示器和刻度盘组成,指示器的位置代表指标的值,而刻度盘上的刻度则表示该指标的范围。

在数据可视化中,仪表图通常用来展示某个指标的当前值,以及该值与理想目标值或预期范围之间的关系。它们在监控关键性能指标、比较实际和目标数值、评估进度等方面非常有用。

仪表图的设计旨在引人注目并直观地传达信息,因此在创建时需要考虑美学和易读性。虽然仪表图在一些情况下可能会过于炫目或不够准确,但在适当的情况下,它是非常有用的工具,可以帮助人们迅速了解关键指标的状态和趋势。

【实例】使用 Plotly 库创建仪表图。输入如下代码:
import plotly.graph_objects as go

# 示例 1: 创建一个简单的仪表图
fig = go.Figure(go.Indicator(
    mode = "gauge+number",  # 设置为仪表盘模式并显示数值
    value = 270,  # 设置指示器的数值为 270
    domain = {'x': [0, 1], 'y': [0, 1]},  # 指示器的位置占据整个图表空间
    title = {'text': "Speed"})  # 指示器的标题为 "Speed"
fig.show()

# 示例 2: 创建一个带有增量和阈值的仪表图
fig = go.Figure(go.Indicator(
    domain = {'x': [0, 1], 'y': [0, 1]},  # 指示器的位置占据整个图表空间
    value = 450,  # 设置指示器的数值为 450
    mode = "gauge+number+delta",  # 设置为仪表盘模式,显示数值和增量
    title = {'text': "Speed"},  # 指示器的标题为 "Speed"
    delta = {'reference': 380},  # 增量设置为 380
    gauge = {
        'axis': {'range': [None, 500]},  # 指示器轴范围设定为 0 ~ 500
        'steps': [  # 阶梯设置,将范围划分为两段,分别设定为灰色和深灰色
            {'range': [0, 250], 'color': "lightgray"},
            {'range': [250, 400], 'color': "gray"}],
        'threshold': {'line': {'color': "red", 'width': 4},
                      'thickness': 0.75, 'value': 490}  # 设定阈值,超过阈值时显示红色
    }))
fig.show()

# 示例 3: 创建一个带有增量和阈值的仪表图,样式定制更多
fig = go.Figure(go.Indicator(
    mode = "gauge+number+delta",  # 设置为仪表盘模式、显示数值和增量
    value = 420,  # 设置指示器的数值为 420
    domain = {'x': [0, 1], 'y': [0, 1]},  # 指示器的位置占据整个图表空间
    title = {'text': "Speed", 'font': {'size': 24}},  # 指示器标题,字体大小
    delta = {'reference': 400, 'increasing': {'color': "RebeccaPurple"}},  # 增量设置为 400,且增大时显示紫色
    gauge = {
        'axis': {'range': [None, 500], 'tickwidth': 1,  # 指示器轴范围设定,设置刻度宽度和颜色
                 'tickcolor': "darkblue"},
        'bar': {'color': "darkblue"},  # 指示器条颜色设定为深蓝色
        'bgcolor': "white",  # 背景色设定为白色
        'borderwidth': 2,  # 边框宽度设定为 2
        'bordercolor': "gray",  # 边框颜色设定为灰色
        'steps': [  # 阶梯设置,将范围划分为两段,分别设定为青色和皇家蓝
            {'range': [0, 250], 'color': 'cyan'},
            {'range': [250, 400], 'color': 'royalblue'}],
        'threshold': {  # 设定阈值为 490,超过阈值时指示器显示红色
            'line': {'color': "red", 'width': 4},
            'thickness': 0.75, 'value': 490}})
    # 更新图表布局,设置背景色和字体颜色
fig.update_layout(paper_bgcolor="lavender",
                  font={'color': "darkblue", 'family': "Arial"})
fig.show()
上述代码展示了如何使用 Plotly 创建仪表图,分别包括简单的仪表图显示数值、带有增量和阈值的仪表图以及样式定制更多的仪表图,通过设置不同的参数,如数值、增量、阈值以及自定义样式等,呈现出多样化的仪表图效果。

输出的结果如下图所示:

相关文章