Представьте непрерывный граф, используя `matplotlib` и` pandas` - PullRequest
0 голосов
/ 02 декабря 2018

Мой фрейм данных выглядит следующим образом:

   Energy_MWh    Month
0   39686.82    1979-01
1   35388.78    1979-02
2   50134.02    1979-03
3   37499.22    1979-04
4   20104.08    1979-05
5   17440.26    1979-06

Так продолжается до 2015-12 месяца.Таким образом, вы можете представить все данные.

Я хочу построить непрерывный график с months в качестве оси x и Energy_MWh в качестве оси y.Как лучше всего представить это, используя matplotlib?

Я также хотел бы знать, насколько мне известно, есть ли способ напечатать 1979-01 как Jan-1979 на оси x искоро.Вероятно, лямбда-функция или что-то во время построения.

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Заимствовано из этого ответа , который вы должны выйти и набрать:

from datetime import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter

df = <set_your_data_frame_here>

myDates = pd.to_datetime(df['Month'])
myValues = df['Energy_MWh']
fig, ax = plt.subplots()
ax.plot(myDates,myValues)

myFmt = DateFormatter("%b-%Y")
ax.xaxis.set_major_formatter(myFmt)

## Rotate date labels automatically
fig.autofmt_xdate()
plt.show()

enter image description here

0 голосов
/ 02 декабря 2018

Установить Month в качестве индекса:

df.set_index('Month', inplace=True)

Преобразовать индекс в Datetime:

df.index = pd.DatetimeIndex(df.index)

График:

df.plot()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...