Для создания 3D моделей в R существует замечательный набор библиотек, объединенных как Rayverse. В частности, rayshader позволяет превращать ggplot2-графики в 3D-изображения. Кроме того, кто-то возможно вспомнит библиотеку ggrgl, но она не так просто устанавливалась (если я не путаю). Также 3D-графики строит matplotlib.
Новая библиотека ggcube позволяет создавать 3D-фигуры с помощью грамматики ggplot2, просто указав в "эстетике" z-координату. Код ниже дает представление о возможностях ggcube, попробуйте:
library(ggplot2)
library(ggcube)
butterfly <- ggcube:::lorenz_attractor(n_points = 8000, dt = .01)
ggplot(butterfly, aes(x, y, z, color = time)) +
geom_path_3d(linewidth = 0.1, color = "black",
position = position_on_face(c("xmax", "ymax", "zmin"))) +
geom_path_3d(linewidth = 0.3) +
scale_color_gradientn(colors = c("blue", "purple", "red", "orange")) +
coord_3d() +
labs(color = "время") +
theme_light()
