私はmatplotlibとmultiprocessesを持つ別のプロットスレッドを持っています。これで、ウィンドウを対話的に拡大すると、autoscale_view()はもう動かない(autoscale()を使って固定)。しかし、ツールボックスの "home"ボタンはまだ動作していません。autoscale_view()を呼び出すように見えますが、更新されたビューは表示されず、古いビュー(ズームインされた時点)が表示されます。例コード:Qt4Aggバックエンドを使用したMatplotlibのツールバーの履歴
import matplotlib
matplotlib.use("qt4agg")
from matplotlib import pyplot as plt
import multiprocessing
def reset_view():
plt.get
xdata = []
ydata = []
temp = 0
test_ax = plt.gca()
test_line, = plt.plot(xdata, ydata)
plt.show(block=False)
for i in range(10):
temp = temp+1
xdata.append(temp)
ydata.append(temp)
test_line.set_data(xdata, ydata)
test_ax.relim()
test_ax.autoscale(tight= False)
plt.show(block=False)
plt.pause(2)
plot_thread = multiprocessing.Process(target = reset_view, args =())
reset_view()
if __name__ == '__main__':
plot_thread.start()
プロット中にズームインし、その後にホームボタンを押してください。 autoscale_view()の代わりにautoscale()を使用するか、&をリセットしてツールバーの履歴を更新して、古いビューに戻ることができないようにする方法はありますか?
P.s:「ホーム」 - ボタン=元のビューに