Я хотел бы создать интерактивный трехмерный поверхностный график глубин в озере, в идеале используя библиотеки plotly
или rgl
.Я извлек свои данные из SpatialLinesDataFrame
контурных линий в Gauss-Krueger / EPSG: 31468 CRS, то есть в метрических единицах.Теперь каждая линия контура создает набор координат с одинаковым значением глубины.Результирующий фрейм данных довольно большой, но выглядит примерно так:
set.seed(41)
xx <- rnorm(100,4448929,100)
yy <- rnorm(100,5308097,100)
zz <- c(rep(-10,10),rep(-20,10),rep(-30,10),rep(-40,10),rep(-50,10),rep(-60,10),rep(-70,10),rep(-80,10),rep(-90,10),rep(-100,10))
df <- data.frame(xx,yy,zz)
Я попытался построить данные с помощью plotly
, как в этом примере, и с rgl
, как в этот пост.В обоих случаях я получаю сообщения об ошибках, связанных с тем, что мои данные не в матричном формате, то есть где значения x и y представлены в виде номеров строк и столбцов.
Что работает, использует *Команда 1015 * в plotly
:
plot_ly() %>% add_trace(df,x = ~df$xx, y = ~df$yy, z = ~df$zz,type="mesh3d")
Однако в результирующем графике не только отсутствует причудливая цветовая легенда команды add_surface
, но, что более важно, деформируются значения x и y по отношениюк Z-значениям.Значения z показаны слишком большими, хотя все они имеют одинаковую метрическую единицу.
Я также пытался преобразовать фрейм данных в матрицу, как в этом посте, но он либо нене работает, или дает мне матрицу, состоящую почти полностью из NA.Я могу только предположить, что число координат, к которым прикреплены значения глубины, очень мало по сравнению со всеми xy-комбинациями координат в этом диапазоне?
Любые предложения будут высоко оценены - спасибо!