Панды - Как повторить axvline через каждый график - PullRequest
0 голосов
/ 23 ноября 2018

Новичок в pandas / python и попытка выяснить, как получить повторяющуюся линию на всех моих графиках, чтобы точно указать точку и точное местоположение, мой код работает, и у меня есть строка, показывающая один, поэтому я думаю, что мне нужноперебрать их все, но я просто не знаю, как это сделать.

Код следующий:

crimeDataBelfastMonthByType = crimeData[['Ward Name','Month']]
crimeDataBelfastMonthByType = pd.DataFrame({'count' : crimeDataBelfastMonthByType.groupby([ "Ward Name", "Month"] ).size()}).reset_index()
fig3 = pd.pivot_table(crimeDataBelfastMonthByType, values='count', index=['Month'], columns=['Ward Name'], fill_value=0)
fig3.index = pd.DatetimeIndex(fig2.index)
fig3.plot(figsize=(30, 30), subplots=True, layout=(-1, 6), sharex=False, sharey=False);
plt.axvline(x = ['2016-01'], color='red',linestyle='--');

График следующий: Graphs

1 Ответ

0 голосов
/ 23 ноября 2018

Метод DataFrame.plot() возвращает в качестве первого аргумента массив значений всех осей вспомогательного участка matplotlib на полученном рисунке.

Решение: сохраните массив осей, пройдитесь по нему,и звоните ax.axvline() на каждом участке.

# Unchanged lines from your example
crimeDataBelfastMonthByType = crimeData[['Ward Name','Month']]
crimeDataBelfastMonthByType = pd.DataFrame({'count' : crimeDataBelfastMonthByType.groupby([ "Ward Name", "Month"] ).size()}).reset_index()
fig3 = pd.pivot_table(crimeDataBelfastMonthByType, values='count', index=['Month'], columns=['Ward Name'], fill_value=0)
fig3.index = pd.DatetimeIndex(fig2.index)

# Modified lines below
axarr = fig3.plot(figsize=(30, 30), subplots=True, layout=(-1, 6), sharex=False, sharey=False);
for ax in axarr.flat:
    ax.axvline(x = ['2016-01'], color='red',linestyle='--');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...