Измените метки xtick с графика pandas на другой формат даты - PullRequest
1 голос
/ 19 июня 2020

Я строю данные из этого фрейма данных.

Date    2011    2012    2013    2014    2015    2016    2017    2018    2019    2020
Date                                        
01-01   12.896  13.353  12.959  13.011  13.073  12.721  12.643  12.484  12.876  13.102
01-02   12.915  13.421  12.961  13.103  13.125  12.806  12.644  12.600  12.956  13.075
01-03   12.926  13.379  13.012  13.116  13.112  12.790  12.713  12.634  12.959  13.176
01-04   13.051  13.414  13.045  13.219  13.051  12.829  12.954  12.724  13.047  13.187
01-05   13.176  13.417  13.065  13.148  13.115  12.874  12.956  12.834  13.098  13.123

График генерирует линейный график для каждого года через каждый день года.

ice_data.plot(figsize=(20,12), title='Arctic Sea Ice Extent', lw=4, fontsize=16, ax=ax, grid=True)

Однако этот график генерирует xtick метки в формате из фрейма данных 01-01 (1 января). Я хочу изменить метку xtick на 01 января, но, похоже, не могу понять, как управлять фреймом данных, используя strftime() для выполнения sh this. Вот изображение для справки.

enter image description here

1 Ответ

1 голос
/ 19 июня 2020

Преобразование значений в дату и время по to_datetime с указанным годом для правильного анализа 2-29, последнее преобразование в пользовательский формат DatetimeIndex.strftime:

idx = pd.to_datetime('2000' + ice_data.index, format='%Y%m-%d').strftime('%d %b')
ice_data = ice_data.set_index(idx)
...