Пример кода здесь для rgl делает почти то, что я хочу.Однако my (x, y) находятся не в прямоугольнике, а в треугольнике, который составляет половину прямоугольника (x = 0..1, y = 0..1 и z отсутствует, если x + y> 1).
Мой входной набор данных имеет следующий формат:x1 x2 x3 x4 x5 x6 z
и я хотел бы визуализировать (x4, x5, z) и (x2, x3, x6) и т. д. Любая помощь приветствуется, как это сделать в Rновичок.
Можно ли экспортировать окончательный график в PDF, EPS или SVG?
ОБНОВЛЕНИЕ : ОК, я могу экспортировать в EPS.
ОБНОВЛЕНИЕ 2 : Благодаря Карлу я почти получил то, что хочу.
Единственная проблема заключается в том, что один из краев поверхности имеет пилообразные зубья.Между зубьями, где x + y <= 4, поверхность должна быть сохранена так, чтобы пилообразный край стал как другие края.Как я могу это сделать? </p>
Код R ниже, входные данные здесь
library(rgl)
mat = matrix(scan("bpexamp.out"),ncol=9,byrow=T)
N <- 4
x <- c(0:N)
y <- c(0:N)
z <- mat[,9]
zlim <- range(y)
zlen <- zlim[2] - zlim[1] + 1
colorlut <- terrain.colors(zlen,alpha=0) # height color lookup table
col <- colorlut[ z-zlim[1]+1 ] # assign colors to heights for each point
open3d()
aspect3d(1,1,0.1)
surface3d(x, y, z, col)
axes3d()