Как установить plt.xlimit с датой и временем

Я могу установить ограничение по оси x только на определенную дату, но не на часы, минуты, секунды. Мой код выглядит так:

plt.figure()
plt.plot(data.date,sig,'b-')
plt.xlim([datetime.date(2022,4,27),datetime.date(2022,4,29)])
plt.ylim()

И мой фрейм данных выглядит так:

                         date      x      y      z  bat
0     2022-04-27 11:07:39.721 -0.875 -0.143  0.516  NaN
1     2022-04-27 11:08:04.721 -0.875 -0.143  0.516  NaN
2     2022-04-27 11:08:29.721 -0.875 -0.143  0.484  NaN
3     2022-04-27 11:08:54.721 -0.875 -0.143  0.484  NaN
4     2022-04-27 11:09:19.721 -0.875 -0.143  0.484  NaN

Я искал в Интернете, но я вижу только примеры этого xlimit только с датой, а не со временем. Кто-нибудь знает, как я могу добавить время с ним. например, ограничение x должно начинаться с: '2022-04-27 11:07:39.721'

С уважением,

Саймон

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
49
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Время строки превратилось в dtype='datetime64[ms]'. Затем я создал переменную «f» для желаемого форматирования времени.

from matplotlib import dates
import matplotlib.pyplot as plt
import matplotlib.ticker
import numpy as np


time_ = ['2022-04-27 11:07:39.721', '2022-04-27 11:08:04.721',
         '2022-04-27 11:08:29.721', '2022-04-27 11:08:54.721', '2022-04-27 11:09:19.721']
#time_[0]---<class 'str'>

data = np.array(time_, dtype='datetime64[ms]')#type(data[0]---<class 'numpy.datetime64'>

val = [1, 1, 1, 1, 1]

f = dates.DateFormatter('%Y-%m-%d %H:%M:%S')

fig, ax = plt.subplots()

plt.plot(data, val)
plt.xlim(data[0], data[2])
#2022-04-27 11:07:39.721 by 2022-04-27 11:08:29.721
plt.ylim()

locator = matplotlib.ticker.LinearLocator(5)
ax.xaxis.set_major_locator(locator)

ax.xaxis.set_major_formatter(f)

fig.autofmt_xdate()
plt.show()

Спасибо за ваш ответ! Но я не понимаю, где вы выбираете дату начала и окончания в вашем скрипте?

SimonDL 06.05.2022 09:42

Обновил сообщение. Впрочем, вы это уже поняли. Я могу сказать, что формат numpy (datetime64) намного быстрее, чем datetime.

inquirer 06.05.2022 12:55

Да, это тот, который я использую

SimonDL 06.05.2022 15:27
Ответ принят как подходящий

Я нашел ответ!

Должно быть datetime.datetime вместо datetime.date.

Пример:

datetime.datetime(2022,4,27,12,1,1)

Другие вопросы по теме