Я хочу сохранить рисунок matplotlib и загрузить его позже, чтобы использовать его в интерактивном режиме. Чтобы быть более конкретным, я хочу иметь возможность использовать увеличение на этом рисунке.
Я использую рассол, чтобы сбросить дескриптор фигуры в файл.
Затем я загружаю фигуру позже, используя функцию pickle, но после загрузки файла масштабирование не работает, хотя я могу использовать масштабирование фигуры перед ее засечкой.
Вот пример сценария, который иллюстрирует мою проблему.
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
Увеличение изображения до засолки
Не масштабируемое изображение после засолки
Версия:
Python 3.7.0
Matplotlib 3.0.0
Рассол 4,0
Это ограничение по фигуре Pickling matplotlib? Или я могу что-то сделать, чтобы загрузить / выгрузить рисунок масштабируемым образом?