Я делаю много (практически все) анализа данных в Jupyter/iPython-notebooks. Для удобства я, очевидно, также строю свои данные в этих ноутбуках, используя matplotlib
/pyplot
. Некоторые из тех графиков, которые мне нужно обновить позже, например, использовать их в latex
. Для этого я сохраняю соответствующие данные как текстовые файлы на жестком диске. Прямо сейчас я вручную создаю numpy-массив, уложив все данные, необходимые для графика, и сохраните их с помощью numpy.savetxt
.Сохраняйте данные для последующего использования
Что бы я хотел, это способ сохранить все данные, необходимые для конкретного участка, записанного в тот же файл в (полу) автоматическом режиме, но я в недоумении, если дело доходит до умного пути от этого.
Таким образом, у меня есть два вопроса:
Можно ли (и сохранить, чтобы сделать), чтобы создать что-то вроде объекта сюжетно-памяти, которая хранит все данные, нанесенные на рисунке, и имеет метод, аналогичный
Memoryobject.save_plot_to_file(figname)
? Этот объект должен знать, на какой фигуре я работаю, поэтому мне нужно будет создать слой выше matplotlib или получить эту информацию от объектов matplotlib.Есть ли более простой способ? Вселенная python огромна, и я не знаю ее половины. Может, что-то вроде этого уже существует?
Edit: Разъяснение: Я не хотите сохранить объект фигуры. То, что я хочу сделать что-то вроде этого:
fig = plt.figure()
fig.plot(x1, y1)
fig.plot(x2, y2 + y3)
# and at a later point
arrays = get_data_from_plot(fig)
data = process(arrays)
np.savetxt('textfile', data)
Никогда не пробовал это сам, но, возможно, травление объекта фигуры будет работать ??? – Julien
@Dux Чтобы извлечь данные из сюжета, возможно, вы можете использовать [этот ответ] (http://stackoverflow.com/questions/8938449/how-to-extract-data-from-matplotlib-plot). – Praveen