当以下两个条件都为真时,我无法让 matshow() 或 imshow() 实际显示绘图:(1) 交互模式已开启:import matplotlib.pyplot as plot; plot.ion()
,以及 (2) 我正在尝试在特定子图上使用 matshow: fig = plot.figure(); ax = fig.add_subplot(111); ax.matshow([[1,2],[3,0]])
。
使用plot.matshow([[1,2],[3,0]])
(注意:没有明确的轴)可以在交互模式下找到,但总是会创建一个带有单个轴对象的新图形窗口。上面带有子图的代码在没有使用 plot.show() 的交互模式的情况下也可以正常工作,并将图像放在正确的轴上。
更奇怪的是,如果我与图形交互,上面带有子图的代码将显示图像,例如通过使用缩放工具并在图形窗口中随机单击(没有可见的轴对象,但我只是单击中间的某个位置图窗口的)。
有什么想法可能导致这种情况,我如何解决它,或者我如何绕过它在指定的子图上使用 matshow 或 imshow (最终用例是在图中有超过 1 个子图)?这发生在 python (2.7.6) 和 ipython (1.1.1)