Я пытаюсь построить тепловую карту с графиком в R, и для целей прослушивателя событий (щелчок, лассо) мне нужно сохранить данные в их первоначальном виде, но я бы хотел изменить названия тиков на оси x ,
Если отметки напоминают дату (даже если они хранятся в виде строки), якобы игнорирует мои названия ручных отметок - plot1. В любом другом случае это работает как положено - plot2.
Это ошибка или особенность в сюжете? Или, как я могу принудительно заставить графически не обрабатывать столбец x как дату, а как строку и включить ручные имена тиков?
library("data.table")
library("plotly")
set.seed(564351654)
dt <- CJ(x= c("2018-01-01","2019-01-01","2020-01-01"),
y= c("A","B"))
dt[,x2:=paste0("blabla",x)]
dt[,z:=runif(nrow(dt))]
#plot1 ignores my manual ticks
xticks <- dt[,unique(x)]
xvals <- paste0("year",substr(xticks,3,4))
# [1] "year18" "year19" "year20"
plot_ly(dt,
x=~x,
y=~y,
z=~z,
type="heatmap") %>%
layout(
title = "plot1",
xaxis = list(
autotick = F,
tickmode = "array",
ticktext = xvals,
tickvals = xticks
)
)
#plot2 is all good.
xticks <- dt[,unique(x2)]
xvals <- paste0("year",substr(xticks,9,10))
# [1] "year18" "year19" "year20"
plot_ly(dt,
x=~x2,
y=~y,
z=~z,
type="heatmap") %>%
layout(
title = "plot2",
xaxis = list(
autotick = F,
tickmode = "array",
ticktext = xvals,
tickvals = xticks
)
)