Задать вопрос
@NV27

Как вывести время на ось графика matplotlib?

Всем привет!

Имеется следующая задача: задан список со строковым значением времени (time_interval). Задан массив целевой функции (у). Хотелось бы построить график, где по оси x отложены значения из time_interval, а по оси y - значения целевой функции. Подскажите пожалуйста каким образом построить такой график.

import numpy as np
import matplotlib.pyplot as plt
time_interval = ['19:0:0', '19:1:0', '19:2:0', '19:3:0', '19:4:0']
y = np.random.randn(5)
x = np.array([x for x in range(5)])
plt.plot(time_interval, y)
plt.show()


Спасибо за внимание :)
  • Вопрос задан
  • 4411 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Avernial
@Avernial
Разрабатываю научное ПО на языке Python.
Вам нужно перевести ваше время в тип datetime. И затем уже строить график.

Например:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import dates
import datetime as dt

fmt = dates.DateFormatter('%H:%M:%S')

fig, ax = plt.subplots()

time_interval = ['19:0:0', '19:1:0', '19:2:0', '19:3:0', '19:4:0']
time_interval = [dt.datetime.strptime(i, "%H:%M:%S") for i in time_interval]
y = np.random.randn(5)
x = np.array([x for x in range(5)])
ax.plot(time_interval, y, "-o")
ax.xaxis.set_major_formatter(fmt)
fig.autofmt_xdate()
plt.show()
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы