Я пытаюсь создать трехмерный график поверхности, используя plot_ly, вот так:
rm(list=ls())
set.seed(42)
x_val <- seq(-2,2,0.1)
y_val <- seq(0,1,0.1)
zz <- matrix(NA, nrow = length(x_val), ncol = length(y_val))
for(i in 1:length(x_val)){
for(j in 1:length(y_val)){
zz[i,j] <- rnorm(1, x_val[i], y_val[j]+0.01)
}
}
plot_ly(x = x_val, y = y_val, z = zz, type = "surface")
Полученные графики выглядят так:
Как видите, x_axis имеет диапазон от -2 до 2, но отображаются только значения от -1 до -2.
Как можно отобразить результаты для полного диапазона x-значения?
Как и предлагалось в комментариях, я пытался реализовать решение этого вопроса ( сюжетно трехмерная поверхность - сменить куб на прямоугольное пространство ).
Однако, используя
plot_ly(x = x_val, y = y_val, z = zz, type = "surface") %>%
layout(
scene = list(
xaxis = list(range = c(-2,2)),
yaxis = list(range = c(0,1)),
zaxis = list(range = range(zz)),
aspectratio = list(x = 2, y = 1, z = 0.4))
)
приводит к этому изображению с той же проблемой: