Python 2.7: сохранение графика из pandas

#python #csv #plot #pandas #save

#python #csv #график #pandas #Сохранить

Вопрос:

Используя pandas, я могу в трех простых строках создать график из данных:

 2014-07-06T10:00:00,12.6,12.9
2014-07-06T10:10:00,12.5,13.1
2014-07-06T10:20:00,12.5,13.1

import pandas as pd
plotdata = pd.read_csv('power_log.csv',header=None,names=['DateTime','ATS1','ATS2'],parse_dates = True, index_col = [0])
plotdata.plot()
  

Однако я не могу сохранить это в файл с plotdata.savefig(). Функция Savefig() — это функция matplotlib, которая, по-видимому, не связана с pandas.

Какие есть варианты:

Я что-то пропустил в перенаправлении графика в файл в pandas?

Есть ли ‘typecast’, чтобы заставить savefig работать (я не думаю, что это правильный язык в Python)

Проще ли просто использовать другой модуль, отличный от pandas?

Спасибо

Ответ №1:

Простой однострочный:

df.plot().get_figure().savefig('figure.png')

Ответ №2:

 a = plotdata.plot()
a.figure.savefig("output.png")
  

РЕДАКТИРОВАТЬ: (2017)

полный пример — все еще работает (без TypeError: 'Figure' object is not callable )

 import pandas as pd

df = pd.DataFrame([1,3,2])
a = df.plot()
a.figure.savefig("output.png")
  

Комментарии:

1. Это неправильно: TypeError: 'Figure' object is not callable

2. @mikal94305 что не так? Вы показываете какую-то ошибку без вашего кода и ожидаете ответа? Создайте новую запись в Stackoverflow, если у вас возникли проблемы с вашим кодом. Кстати: этому вопросу уже 3 года, и модуль мог измениться. РЕДАКТИРОВАТЬ: я проверил код, и он все еще работает для меня.

3. @mikal94305 возможно, вы допустили ошибку и использовали figure("output.png") — это должно выдать вам ошибку TypeError: 'Figure' object is not callable