Что-то не получается, когда persp3D
представлен с постоянной матрицей. Обычно это происходит потому, что программное обеспечение пытается вычислить масштаб диапазона Z и делит на ноль. Я бы ожидал увидеть это только при построении постоянной плоскости, а не при ее добавлении.
Например, base::persp
выдаст ошибку:
> persp(zero)
Error in persp.default(zero) : invalid 'z' limits
Если вы хотите полностью воспроизводимый пример, создайте Delta_B
, таким образом:
> Delta_B = matrix(apply(expand.grid(1:20,1:20),1,function(r){sum(r)-20}),20,20)
Тогда:
> persp3D(x=seq(1,20), y=seq(1,20), z = Delta_B, theta = 20, xlab = "D", ylab = "IR", zlab = "B increment")
> zero = matrix(0, 20, 20)
> persp3D(x=seq(1,20), y=seq(1,20), z = zero, col = "black", add = TRUE)
Не показывает плоскость zero
. Но все, что делает матрицу zero
непостоянной, исправит это:
> zero[1,1]=0.000001
> persp3D(x=seq(1,20), y=seq(1,20), z = zero, col = "black", add = TRUE)
Этого должно быть достаточно, чтобы отправить отчет об ошибке сопровождающему. Код для persp3D
- это длинный фрагмент кода, в который я не буду сейчас углубляться.