次の条件の両方が真の場合、 matshow() または imshow() を取得して実際にプロットを表示することはできません: (1) インタラクティブ モードが on: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]])
すると、対話モードで検索が機能しますが、常に単一の軸オブジェクトを含む新しい Figure ウィンドウが作成されます。サブプロットを含む上記のコードは、plot.show() を使用したインタラクティブ モードなしでも正常に動作し、画像を正しい軸に配置します。
さらに奇妙なことに、サブプロットを含む上記のコードは、ズーム ツールを使用して Figure ウィンドウ内をランダムにクリックするなどして Figure を操作すると画像を表示します (目に見える Axes オブジェクトはありませんが、中央のどこかをクリックするだけです)。 Figure ウィンドウの)。
これを引き起こしている可能性のあるアイデア、修正方法、または特定のサブプロットで matshow または imshow を使用する方法を回避する方法はありますか (最終的な使用例は、図に複数のサブプロットを含めることです)。これは、python (2.7.6) および ipython (1.1.1) で発生します。