Отрисовать граф с помощью 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()