Я використовую панди для створення сюжету з фрейму даних, який я хотів би зберегти у файл:
dtf = pd.DataFrame.from_records(d,columns=h)
fig = plt.figure()
ax = dtf2.plot()
ax = fig.add_subplot(ax)
fig.savefig('~/Documents/output.png')
Здається, що останній рядок, використовуючи файл збереження matplotlib, повинен зробити цю справу. Але цей код видає таку помилку:
Traceback (most recent call last):
File "./testgraph.py", line 76, in <module>
ax = fig.add_subplot(ax)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/figure.py", line 890, in add_subplot
assert(a.get_figure() is self)
AssertionError
Як варіант, намагаючись викликати savefig безпосередньо на графіку, також виникають помилки:
dtf2.plot().savefig('~/Documents/output.png')
File "./testgraph.py", line 79, in <module>
dtf2.plot().savefig('~/Documents/output.png')
AttributeError: 'AxesSubplot' object has no attribute 'savefig'
Думаю, мені потрібно якось додати підзапис, повернутий plot () до фігури, щоб використовувати savefig. Також мені цікаво, чи, можливо, це пов’язано з магією класу AxesSubPlot.
РЕДАГУВАТИ:
наступні роботи (не викликаючи помилок), але залишаю мені зображення порожньої сторінки ....
fig = plt.figure()
dtf2.plot()
fig.savefig('output.png')
РЕДАКТУВАТИ 2: Наведений нижче код також чудово працює
dtf2.plot().get_figure().savefig('output.png')
ax.figure.savefig(...)