我想存储一个matplotlib图形,然后加载它以交互方式使用它。更具体地说,我希望能够在这个图中使用缩放。
我正在使用pickle将数字句柄转储到文件中。
我随后使用pickle加载图形,但加载文件后缩放不起作用,即使我可以在拾取图形之前使用zoom。
这是一个演示我的问题的示例脚本。
import matplotlib.pyplot as plt
import pickle
import numpy as np
import os
import time
# Create Plot Data
x = np.arange(100)
# Create Figure, Axes and plot
fig1,axes1 = plt.subplots()
axes1.plot(x)
# Pickle plot
fileName = os.getcwd() + "/img"\
+ time.asctime(time.localtime()) + ".pickle"
with open(fileName,'wb') as pickle_file:
pickle.dump(fig1,pickle_file)
plt.show() # ZOOM WORKS HERE
plt.close()
# Load pickled plot
with open(fileName,'rb') as read_pickle:
fig_handle = pickle.load(read_pickle)
plt.show() # ZOOM DOES NOT WORK HERE
Zooming into the image before Pickle
Non-Zoomable image after Pickle
版本:
Python 3.7.0
MatplotLib 3.0.0版
泡菜4
这是对酸洗matplotlib图形的限制吗?或者我可以做些什么来以可缩放的方式加载/转储图形?