@alekseiami

Как подписать дату и время на оси абсцисс в Matplotlib?

Есть датасет типа
[
	['14.06.2022 00:00', 1],
	['14.06.2022 06:00', 2],
	['14.06.2022 12:00', 3],
	['14.06.2022 18:00', 4],
	['15.06.2022 00:00', 1],
	['15.06.2022 06:00', 2],
	['15.06.2022 12:00', 3],
	['15.06.2022 18:00', 4],
	['16.06.2022 00:00', 1],
	['16.06.2022 06:00', 2],
	['16.06.2022 12:00', 3],
	['16.06.2022 18:00', 4]
]


Какие опции мне нужно указать в Matplotlib, чтобы ось абсцисс с датой-временем отображалась следующим образом?

----|----*----*----*----|----*----*----*----|----*----*----*--->
    |    6    12   18   |    6    12   18   |    6    12   18   
14.06.2022          15.06.2022          16.06.2022
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dmshar
Ну, например, вот так:
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator
ds=[
  ['14.06.2022 00:00', 1],
  ['14.06.2022 06:00', 2],
  ['14.06.2022 12:00', 3],
  ['14.06.2022 18:00', 4],
  ['15.06.2022 00:00', 1],
  ['15.06.2022 06:00', 2],
  ['15.06.2022 12:00', 3],
  ['15.06.2022 18:00', 4],
  ['16.06.2022 00:00', 1],
  ['16.06.2022 06:00', 2],
  ['16.06.2022 12:00', 3],
  ['16.06.2022 18:00', 4]
]

df=pd.DataFrame(ds,columns=['D','A'])
df['D']=pd.to_datetime(df['D'])
df.set_index('D',inplace=True)
ax=df.plot()
ax.xaxis.set_minor_locator(MultipleLocator(6))


62a8787e919cc437718429.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы