Присвоение дат образцам в matplotlib - PullRequest
1 голос
/ 03 ноября 2010

Учитывая некоторый произвольный массив данных, как я могу построить его так, чтобы даты отображались на оси x?В этом случае сэмпл 0 будет некоторое время, скажем, 7:00, и каждый сэмпл впоследствии будет разнесен на одну минуту, так что для 60 сэмплов отображаемое время должно быть 7:00, 7:01, ...,7: 59.

Я посмотрел на некоторые другие вопросы здесь, но все они требовали на самом деле установить дату и некоторые другие вещи, которые показались мне чрезмерными по сравнению с тем, что я хотел бы сделать.

Спасибо!

Кристоф

1 Ответ

1 голос
/ 03 ноября 2010

Если вы используете массив объектов datetime для своей оси x, функция plot () будет работать так, как вы хотите (при условии, что вы не хотите, чтобы отображались все 60 меток с 7:00 до 7:59) , Вот пример кода:

import random
from pylab import *
from datetime import *
N = 60
t0 = datetime.combine(date.today(), time(7,0,0))
delta_t = timedelta(minutes=1)
x_axis = t0 + arange(N)*delta_t
plot(x_axis, random(N))
show()

Относительно использования функции comb () см. Вопрос время Python + эквивалент timedelta

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