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

如何正确删除Plotly热图中的数据以获得预期渲染效果

Plotly热图删除数据后空白区域被自动填充修复方案

问题原因

删除数据时直接移除了z_list中的对应元素,改变了z数组原有维度,Plotly的Heatmap默认会将传入的z匹配为完整矩形网格,自动填充了本应留空的缺失位置。

修复步骤

  • 不要直接删除z_list的元素,将需要移除的数据对应的z坐标位置的值替换为np.nan,全程保持z_list、x_list、y_list的维度和原完整热图的维度完全一致,不要修改x、y的取值列表。
  • 在go.Heatmap的配置中显式添加两个参数:connectgaps=False禁止自动连接填充缺失值,zsmooth=False关闭平滑插值,避免插值覆盖空白区域。

修正后代码示例

import numpy as np
import plotly.graph_objects as go

# 将需要删除的位置的z值设为nan,不要修改z、x、y的长度/维度
for del_pos in 删除位置坐标列表:
    i, j = del_pos
    data.z_list[i][j] = np.nan

fig = go.Figure(data=go.Heatmap(
    z=data.z_list,
    x=data.x_list,
    y=data.y_list,
    connectgaps=False,
    zsmooth=False
))
fig.update_xaxes(range=[data.x_min, data.x_max])
fig.update_yaxes(range=[data.y_min, data.y_max])

# 可选配置:如果需要空白位置完全透明,可追加以下代码指定nan值的渲染样式
# fig.update_traces(
#     hoverongaps=False,
#     selector=dict(type='heatmap')
# )

补充说明

如果你的x、y为离散类别值,删除数据后不要调整x、y列表的顺序和元素,保持和原完整热图的x、y完全一致即可保证缺失位置正常留空。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:45:08