отображение миллисекунд в python matplotlib.dates - PullRequest
2 голосов
/ 08 апреля 2011

У меня есть данные с метками времени, отформатированные с использованием datetime.datetime.strptime, которое включает миллисекунды. Данные могут занимать от нескольких минут до нескольких часов. Когда я строю график с использованием pyplot и увеличиваю масштаб, кажется, что минимальная отметка составляет 1 секунду. Похоже, что TickHelper RRuleLocator у matplotlib имеет только SecondLocator. Есть ли способ включить разрешение в миллисекундах при увеличении?

receivedTime = datetime.datetime.strptime(str(data[1]), "%H:%M:%S.%f")

fig=plt.figure()
ax=fig.add_axes([0.1,0.1,.8,.8])
fig.autofmt_xdate()

ax.plot(times, prices, color='blue', lw=1, drawstyle='steps-post', label = prices)
plt.show()

1 Ответ

1 голос
/ 20 июля 2011

Matplotlib использует числа типа Matlab (секунды с 1970 года) для дат.Если у вас есть миллисекунды, вы должны преобразовать даты в «число»:

import matplotlib.dates as mdates
ntimes = mdates.num2epoch(times / 1000.0)

и график ntimes вместо times.

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