Как дозу пота определяют клещи?Особенно, как persp решает, сколько тиков и какая дельта тиков используются? - PullRequest
0 голосов
/ 04 октября 2018

Hy там,

Я использую persp для 3D-графика, и я пытаюсь выяснить, как persp определяет тики, когда установлен параметр ticktype="detailed".
Я хочурисовать линии в поле вокруг поверхности, соответствующей галочкам.До сих пор я рисую поверхность без каких-либо меток и осей и добавляю все линии и оси после слов.Чтобы было понятно, что я сделал -> пример кода:

z <- matrix(rep(1:10, each=10), nrow=10, ncol=10)
x.axis <- 1:nrow(z)
y.axis <- 1:ncol(z)
max.y <- max(y.axis)

# Drawing the surface without the axes and no lines on the surface
pmat <- persp(z = z, x = x.axis, y = y.axis ,
              lphi = 100, phi = 25, theta = -30,
              axes=F,
              border = NA,  # no lines on the surface
              col="deepskyblue",
              expand = 0.5,  
              shade = 0.65)

Теперь я добавляю линии на поверхности разного цвета и оси с галочками и метками:

par(new=T)
pmat <- persp(z = z, x = x.axis, y = y.axis ,
              lphi = 100, phi = 25, theta = -30,
              ticktype = "detailed", 
              expand = 0.5, 
              cex.lab=0.75, 
              col=NA, 
              border="grey80")
par(new=F)

Чтобы получить линии на прямоугольнике вокруг поверхности, я использую следующее:

for (z_high in c(2,4,6,8)) {
  lines(trans3d(x.axis, max.y, z_high, pmat) , col="black", lty=3)
}

Как видите, я использую собственный определенный вектор c(2,4,6,8), который представляет z-значения для линий прямоугольника вназад.Если входная поверхность теперь изменяется, я должен адаптировать этот вектор самостоятельно.Есть ли способ получить галочки для всех осей на графике persp?Кто-нибудь знал, как persp определяет галочки?

...