python - 用 NaN 绘图。如何将 NaN 值设置为特定颜色和/或从热图中跳过 NaN
问题描述
我正在尝试使用补丁绘制热图。但是,数据包含 NaN,如果包含 NaN 值,则将所有颜色设置为最小值。如果我将 NaNs 设置为 0,则该图将正确显示。但我不希望将 NaN 设置为一个值,因为这具有误导性。理想情况下,我想跳过 NaN 值,如果不是至少将其设置为所需的颜色
我已确保使用 nanmin/nanmax 作为彩条以从比例中排除 NaN 值。
从 -2000:2000 绘制 400 个元素,我将索引值 200:250 设置为 NaN
上面的代码用于生成以下内容: https ://www.pastepic.xyz/images/2019/10/17/image9347fc65ec10705e.png
但是,包含 NaNS 会导致此 https://www.pastepic.xyz/images/2019/10/17/imagef0c34416d84b669d.png
解决方案
嘿,我看不到你的代码,所以我假设你正在使用 numpy,然后我们可以像这样从数据中删除 nans,如果数据是一维的
x = x[~numpy.isnan(x)]
如果数据有 x 和 y,我们还可以使用掩码以下列方式移除 nan。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
y = np.array([1, 4, 3, None, None, 5, 8, 9, 4, 7])
mask = np.isfinite(y)
然后 x 和 y 的数据变为
x = x[mask]
y = y[mask]
让我知道它是如何为你工作的
推荐阅读
- android - 在 Android 中使用 USB 网络摄像头时无法使用设备麦克风
- c++ - 如何为索引数次打印整数数组的索引。例如:如果 index = 3 则打印 3 三次
- reactjs - React Navigation 多个挂载
- angular - 数据未以下拉模板驱动形式显示
- javascript - 在 jQuery Ajax 中成功后删除父元素
- python - 如何替换使用 eval 调用类?
- html - HTML 下拉菜单链接不起作用?
- python - 有没有办法锁定 pyqtgraph ROI ScaleRotateHandle 的方面?
- c - 读取文件后的C程序termenats
- c# - 如何将 SQLite 版本 3.35.0 安装到 C# .Net 表单应用程序项目