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

Matplotlib contourf绘图如何显示-100和100端点级别值?

解决contourf绘图缺失端点-100和100的问题
  • 第一步:验证数据极值
    先确认你的数据var中确实包含≤-100或≥100的数值,运行以下代码检查:

    print("数据最小值:", var.min())
    print("数据最大值:", var.max())
    

    如果数据极值在(-100, 100)范围内,端点对应的颜色块自然不会出现——因为没有数据落在该区间。

  • 第二步:调整区间与显示参数
    若数据确实包含-100或100,尝试以下方案:

    1. 扩展levels边界
      略微扩大levels范围,规避浮点数精度导致的端点匹配问题:
      import numpy as np
      import matplotlib.pyplot as plt
      
      levels = np.linspace(-100.1, 100.1, 21)
      plt.contourf(var, levels=levels)
      plt.colorbar(ticks=np.linspace(-100, 100, 21))  # 强制显示所有刻度
      plt.show()
      
    2. 设置extend参数
      通过extend='both'让颜色条显示端点对应的延伸色,确保极值被识别:
      levels = np.linspace(-100, 100, 21)
      plt.contourf(var, levels=levels, extend='both')
      plt.colorbar(ticks=levels)
      plt.show()
      
  • 第三步:强制闭合区间
    若上述方法无效,手动生成整数步长的levels,确保端点被明确包含:

    levels = np.arange(-100, 101, 10)  # 生成[-100, -90, ..., 90, 100]共21个点
    plt.contourf(var, levels=levels)
    plt.colorbar(ticks=levels)
    plt.show()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:20:37