python - Matplotlib imshow 具有不断变化的数据范围的棋盘图
问题描述
我有一个数据集,它在每个 y 坐标处都有不同的 x 坐标范围,没有特定的规则或固定的 delta_x。例如
- y=0 -> x 是范围内的 40 个值 (20, 55)
- y=1 -> x 是范围内的 40 个值 (24, 49)
- y=2 -> x 是范围内的 40 个值 (23, 59)
- ...
有没有办法使用这些数据获得棋盘图imshow
?
我尝试在循环中更改每个 y 值的范围,但这只是将每一行移动到我设置的最后一个范围。在下图中,顶部的水平范围应为 [1410, 2190],底部的水平范围应为 [1453, 4970]。红线和白线是顶部的简单图,应遵循红色和黄色阴影区域。在此处查看图片
我尝试过使用tricontourf
(根据Oliver W. 的建议),它可以很好地处理数据集,绘图是准确的。您还可以查看水平范围如何变化。然而,图像中有一些伪影。如果可能的话,我想使用没有插值的矩形,而不是插值三角形。在此处查看图片
我尝试在每个 y 处附加所有 x 的最小值和最大值,并将这些值用于水平范围,它有点工作。在此处查看图片
它仍然不准确,我不知道为什么。我可以通过手动更改值来获得更好/更正确的图像,首先尝试。在此处查看图片
如有任何意见或建议,我将不胜感激。
解决方案
推荐阅读
- c++ - 我应该如何使用别人在 GitHub 上发布的代码?
- javascript - 我需要诊断我的代码问题,在尝试运行我编写的不和谐通知程序时遇到错误
- javascript - 在 Phaser 3.24.1 游戏中使用 Axios 库
- javascript - 为脚本构建 URL 以移动 PTZ 摄像机的问题
- reactjs - 如何在反应本机计算器构造中编写求和函数?
- http - HTTP 设计。为什么服务器在收到 GET 请求后不立即发送所有文件?
- r - 创建可以访问库但不能访问 .GlobalEnv 的环境
- reactjs - 使用 Material UI 添加图标时出错
- php - Amazon SES 不适用于 eu_west_1,但可以使用 us_east_1 PHP
- django - int() 参数必须是字符串、类似字节的对象或数字,而不是 'NoneType' 错误 html 表单