Отрисовать граф с помощью matplotlib в python

Вот мой код:

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(12,8))
plt.xlabel('Time')
plt.ylabel('Number of Spared Bikes')
plt.plot(needs.index, needs['110'], label='#101')
plt.show()

Что мне нужно, это датафрейм:

с помощью этого кода я получил этот график:

Как вы можете видеть на графике выше, ось х выглядит ужасно.

Я просто хочу, чтобы ось х time индекс, не 2017-09-08 06:00, но так же, как 06,

Как я могу решить эту проблему?

1 ответ

Один из способов подойти к этому - создать новый столбец, в котором индекс данных переформатирован в соответствии с вашими потребностями.

Другой способ заключается в использовании matplotlib.xticks() определить пользовательские метки оси X

#apply custom processing on your label. rotarion='vertical' will give you even more space to place the labels
labels=needs.index.apply(lambda x: process_label(x)) 
#display the modified label
plt.xticks(needs.index, labels, rotation='vertical')
plt.plot(needs.index, data)
plt.show()
Другие вопросы по тегам