Временные метки, показывающие миллисекунды с Plotly в R - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь построить временной ряд с помощью Plotly, который включает миллисекунды. Тем не менее, Plotly округляет каждую метку времени до ближайшей секунды при отображении данных. Я бы хотел, чтобы данные наносились таким образом, чтобы точки были равномерно распределены вдоль оси x, чтобы я не получил этот шаблон «шага», который вы видите на графике ниже.

library(plotly)

# make some data
x <- seq(1, 10000, by=250)/1000
y <- 1:length(x)

# convert to POSIX
x <- as.POSIXct(x, origin='1970-01-01', tz='UTC')
# show milisecond format
format(x[1:5], "%Y-%m-%d %H:%M:%OS3")

# make data frame
data <- data.frame(x, y)

# make the plot with plotly
plot_ly(data, x=~x, y=~y, type='scatter', mode='lines+markers')

Plotly Example

Я пытался изменить тики оси X, чтобы отображать миллисекунды, но у меня это не сработало.

layout(xaxis = list(tickformat="%H:%M:%OS3"))

Редактировать: Ответ Моханасундарама - хороший обходной путь, но я ищу способ достичь этого, поддерживая классы "POSIXct" и "POSIXt".

1 Ответ

0 голосов
/ 25 апреля 2020

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

library(plotly)

# make some data
x <- seq(1, 10, by=.25)
y <- 1:length(x)

# convert to POSIX
x <- as.POSIXct(x, origin='1970-01-01')
# show milisecond format

x <- format(x, "%Y-%m-%d %H:%M:%OS3")
# make data frame
data <- data.frame(x, y)

# make the plot with plotly
plot_ly(data, x=~x, y=~y, type='scatter', mode='lines+markers')

enter image description here

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