複数のデータ セットを使用して 3D 散布図を作成し、図全体にカラーマップを使用しています。コードは次のようになります。
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
for R in [range(0,10), range(5,15), range(10,20)]:
data = [np.array(R), np.array(range(10)), np.array(range(10))]
AX = ax.scatter(*data, c=data[0], vmin=0, vmax=20, cmap=plt.cm.jet)
def forceUpdate(event): AX.changed()
fig.canvas.mpl_connect('draw_event', forceUpdate)
plt.colorbar(AX)
これは問題なく動作しますが、保存するかプロットを回転するとすぐに、最初と 2 番目の散布図の色が青に変わります。
強制更新は色を維持することで機能しますが、最後に描画された散布図でのみ機能します。すべての散布図を更新するループを作成しようとしましたが、上記と同じ結果が得られました。
AX = []
for R in [range(0,10), range(5,15), range(10,20)]:
data = [np.array(R), np.array(range(10)), np.array(range(10))]
AX.append(ax.scatter(*data, c=data[0], vmin=0, vmax=20, cmap=plt.cm.jet))
for i in AX:
def forceUpdate(event): i.changed()
fig.canvas.mpl_connect('draw_event', forceUpdate)
色が消えないように、すべての散布図が更新されていることを確認する方法はありますか?
ありがとう!