Почему R plot_ly heatmap расширяет границы моих данных? - PullRequest
1 голос
/ 30 января 2020

Я хотел визуализировать следующий контент в тепловой карте, а не в графическом графике:

enter image description here

Когда я рендерил тот же контент через:

p2 <- plot_ly(x=xplot,y=yplot,z=zplot,type="heatmap",zsmooth="best")

Я получаю

enter image description here

Я проверил, что пределы xplot равны 100 и 200.

Почему plot_ly показывает ось х в диапазоне от 50 до 250? Я подумал, что, может быть, это связано с тем, как данные «сглаживаются по z», но ось y кажется нетронутой.


Набор данных, который я пытаюсь построить, имеет 2500 точек, но я полагаю, что вы должны увидеть такое же поведение со следующими данными:

xplot = c(100, 100, 200, 200, 200, 200, 200)
yplot = c(98, 100, 184, 188, 192, 196, 200)
zplot = c(557740.27, 562123.04,  23871.66,  24987.45,  25735.05,  26106.02,  26095.27)

1 Ответ

1 голос
/ 30 января 2020

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

Не видя полных данных, трудно догадаться, что именно это исправит, но раздел документально в «Ручных диапазонах» указывает, что изменение осей поможет:

p2 <- plot_ly(x=xplot,y=yplot,z=zplot,type="heatmap",zsmooth="best") %>%
  layout(
    xaxis = list(range=c(100,200),
    yaxis = list(range=c(80,200)))
...