这可以用简单的方式构建
-
具有统一 y 值的 bar 轨迹
-
填充区域置于顶部以提供角度
-
标记+文字绘制气泡
显然,这可以扩展为一个实用函数,以根据参数构建此图形。
go.Figure(
[
go.Bar(
x=np.linspace(1, 5, 5),
y=np.full(5, 1),
marker={"color": np.linspace(1, 5, 5), "colorscale": "redor"},
),
go.Scatter(
x=[0.6, 0.6, 5.4, 0.6],
y=[0, 1, 1, 0],
fill="toself",
fillcolor="white",
mode="none",
),
go.Scatter(
x=[4],
y=[0.4],
text=[4],
mode="markers+text",
marker={"size": 80, "color": "white"},
textfont={"size": 20},
),
]
).update_layout(
xaxis={"visible": False},
yaxis={"visible": False},
showlegend=False,
template="plotly_white",
)