我正在尝试使用imshow绘制2D场。我想在放大后重新缩放颜色,这样我就能看到更多细节。
我所知道的唯一解决方案是获取RectangleSelector事件返回的框的坐标,并重新绘制原始数据的子矩阵。有更好的解决方案吗?
答案 0 :(得分:1)
您可以使用pylab.ion
进行交互式绘图,并使用draw
命令而不是show
命令更新绘图。然后,在您的代码中,创建一个while循环,提示您输入键盘。在每次迭代时,如果输入-1
,程序就存在。否则,您可能输入类似x1, y1, x2, y2
的内容,其中描述了您想要在坐标轴上放大的边界框,然后您的程序创建一个新图形,将相关数据重新计算到涉及输入的新网格{ {1}},并重新绘制。如果您保存所有输入坐标,您甚至可以为“撤消”设置一个特殊的键盘输入(如同,缩小到我刚才的位置)。这应该不是很难实现,唯一的问题是计算重新采样到放大网格的严重程度。
答案 1 :(得分:0)
经过大量搜索,我找不到任何其他选择。但是,使用RectangleSelector实现这一点,只是重新绘制原始数据的子矩阵,结果运行良好。