You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python Plotly等高线图中添加极值(最大/最小)标记线

实现建议

要在等高线图上添加表示每年份最大、最小贷款冲击影响的线条,可按以下步骤修改代码:

  1. 计算关键指标:对z_data按列(年份维度)分别计算最大值和最小值,得到各年份的最大、最小影响值。
  2. 添加折线图层:使用plotly.graph_objects.Scatter向图中添加两条折线,分别对应最大、最小影响数据。
  3. 优化布局:调整图例位置,避免遮挡等高线内容。

修改后的完整代码:

import plotly.graph_objects as go
import numpy as np

# 替换为你的真实z_data二维矩阵(行=冲击后月份,列=年份)
z_data = np.random.rand(24, 23)  

# 计算每列(年份)的最大、最小影响值
col_max = z_data.max(axis=0)
col_min = z_data.min(axis=0)

# 生成x轴坐标(对应年份/月份的连续值)
x = np.arange(2000.166667, 2023, 0.0833333333333333)

fig = go.Figure()

# 添加等高线图层
fig.add_trace(go.Contour(
    z=z_data, 
    x=x, 
    colorscale='Turbo',
    showscale=True
))

# 添加最大影响折线
fig.add_trace(go.Scatter(
    x=x,
    y=col_max,
    mode='lines',
    name='最大影响',
    line=dict(color='red', width=2)
))

# 添加最小影响折线
fig.add_trace(go.Scatter(
    x=x,
    y=col_min,
    mode='lines',
    name='最小影响',
    line=dict(color='blue', width=2)
))

fig.update_layout(
    title='Discrete Impulse-Response of GDP to a Unit Acceleration in Loan Growth', 
    autosize=True,
    margin=dict(l=0, r=0, b=0, t=65),
    # 调整图例位置到图表顶部右侧,避免遮挡
    legend=dict(orientation="h", yanchor="bottom", y=1.02, xanchor="right", x=1)
)

fig.show()

关键说明

  • axis=0参数:确保按列(年份)计算最大值和最小值,匹配你的数据维度定义。
  • 折线样式:通过line参数自定义颜色和宽度,让线条在等高线图中更醒目。
  • 图例调整:legend配置将图例放在图表顶部,避免覆盖核心数据区域。

内容的提问来源于stack exchange,提问作者robertdrake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 08:23:15