サブプロットを使用して、1 つの図に複数のプロットがあります。各軸インスタンスは、特定の軸セットを参照するために使用されます。そのようです:
ax[0] = fig.add_subplot(2, 2, 1)
ax[1] = fig.add_subplot(2, 1, 2)
ax[2] = fig.add_subplot(2, 2, 2,projection='3d')
ご覧のとおり、軸のセットの 1 つは 3D プロットです。次のように、他のプロットのプロパティの 1 つを変更します。
plt.setp(zh, xdata=event.xdata,ydata=event.ydata)
次のように再描画します。
zh.figure.canvas.draw();
ただし、これは、3D 投影されたものを含むすべての suplots を使用して全体の図を再描画しているため、処理が大幅に遅くなります。
私はこれを試しました:
ax[0].draw_artist(zh)
これは有望だと思いましたが、軸は更新されていません。エラーは発生していません。再描画していないだけです。私も試しました:
zh.axes.draw(zh,ax[0])
しかし、それはエラーを与えます:
AttributeError: 'Line2D' object has no attribute 'open_group'
なぜこれが起こっているのか、図全体ではなく、変更している軸インスタンスを再描画する方法についてのアイデアはありますか?
編集:
zh は Line2D オブジェクトです。
zh, = plt.plot(z.real, z.imag, 'x', ms=10)