Формирование временных отметок по оси x с помощью matplotlib - PullRequest
0 голосов
/ 24 мая 2018

Как отформатировать метки времени на оси x как "%Y-%m-%d %H:%M".ts - это список отметок времени и способа отображения значений по оси x:

"2018-5-23 14:00", "2018-5-23 14:15" и "2018-5-2314:30 ".

Мой текущий график показывает:

23 14:00, 23 14:05, 23 14:10, 23 14:15, 23 14:20, 23 14:25, 23 14: 30.

import datetime
import matplotlib.pyplot as plt
from matplotlib import style
style.use('fivethirtyeight')

ts = [datetime.datetime(2018, 5, 23, 14, 0), datetime.datetime(2018, 5, 23, 14, 15), datetime.datetime(2018, 5, 23, 14, 30)]
values =[3, 7, 6]
plt.plot(ts, values, 'o-')
plt.show()

enter image description here

1 Ответ

0 голосов
/ 24 мая 2018

Во-первых, вам нужно установить свои галочки x, чтобы отображались только те значения, которые вы хотите.Это можно сделать с помощью plt.xticks(tick_locations, tick_labels).

. Чтобы получить даты в правильном формате, вам нужно указать DateFormatter и применить его к вашей оси X.

Ваш код будет выглядеть так:

import datetime
import matplotlib.pyplot as plt
from matplotlib import style
from matplotlib.dates import DateFormatter
style.use('fivethirtyeight')

ts = [datetime.datetime(2018, 5, 23, 14, 0), datetime.datetime(2018, 5, 23, 14, 15), datetime.datetime(2018, 5, 23, 14, 30)]

values =[3, 7, 6]
plt.plot(ts, values, 'o-')
plt.xticks(ts, ts)  # set the x ticks to your dates

date_formatter = DateFormatter("%Y-%m-%d %H:%M")  # choose desired date format
ax = plt.gca()
ax.xaxis.set_major_formatter(date_formatter)
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...