首页 > 解决方案 > Matplotlib imshow 具有不断变化的数据范围的棋盘图

问题描述

我有一个数据集,它在每个 y 坐标处都有不同的 x 坐标范围,没有特定的规则或固定的 delta_x。例如

有没有办法使用这些数据获得棋盘图imshow

我尝试在循环中更改每个 y 值的范围,但这只是将每一行移动到我设置的最后一个范围。在下图中,顶部的水平范围应为 [1410, 2190],底部的水平范围应为 [1453, 4970]。红线和白线是顶部的简单图,应遵循红色和黄色阴影区域。在此处查看图片

我尝试过使用tricontourf(根据Oliver W. 的建议),它可以很好地处理数据集,绘图是准确的。您还可以查看水平范围如何变化。然而,图像中有一些伪影。如果可能的话,我想使用没有插值的矩形,而不是插值三角形。在此处查看图片

我尝试在每个 y 处附加所有 x 的最小值和最大值,并将这些值用于水平范围,它有点工作。在此处查看图片

它仍然不准确,我不知道为什么。我可以通过手动更改值来获得更好/更正确的图像,首先尝试。在此处查看图片

如有任何意见或建议,我将不胜感激。

标签: pythonmatplotlibimshowextent

解决方案


推荐阅读