Python绘制仪表图(附带实例)
仪表图(Gauge chart)是一种用于展示单一指标或数值的图表类型,通常用于显示目标值与实际值之间的差异。
仪表图类似于汽车仪表板上的速度计或油量计,因此也常被称为仪表板图。仪表图通常由一个圆形或半圆形的指示器和刻度盘组成,指示器的位置代表指标的值,而刻度盘上的刻度则表示该指标的范围。
在数据可视化中,仪表图通常用来展示某个指标的当前值,以及该值与理想目标值或预期范围之间的关系。它们在监控关键性能指标、比较实际和目标数值、评估进度等方面非常有用。
仪表图的设计旨在引人注目并直观地传达信息,因此在创建时需要考虑美学和易读性。虽然仪表图在一些情况下可能会过于炫目或不够准确,但在适当的情况下,它是非常有用的工具,可以帮助人们迅速了解关键指标的状态和趋势。
【实例】使用 Plotly 库创建仪表图。输入如下代码:
输出的结果如下图所示:
仪表图类似于汽车仪表板上的速度计或油量计,因此也常被称为仪表板图。仪表图通常由一个圆形或半圆形的指示器和刻度盘组成,指示器的位置代表指标的值,而刻度盘上的刻度则表示该指标的范围。
在数据可视化中,仪表图通常用来展示某个指标的当前值,以及该值与理想目标值或预期范围之间的关系。它们在监控关键性能指标、比较实际和目标数值、评估进度等方面非常有用。
仪表图的设计旨在引人注目并直观地传达信息,因此在创建时需要考虑美学和易读性。虽然仪表图在一些情况下可能会过于炫目或不够准确,但在适当的情况下,它是非常有用的工具,可以帮助人们迅速了解关键指标的状态和趋势。
【实例】使用 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 创建仪表图,分别包括简单的仪表图显示数值、带有增量和阈值的仪表图以及样式定制更多的仪表图,通过设置不同的参数,如数值、增量、阈值以及自定义样式等,呈现出多样化的仪表图效果。输出的结果如下图所示:

ICP备案:
公安联网备案: