Как я могу добавить индекс к моей метке оси при использовании функции persp3D в R? - PullRequest
1 голос
/ 30 марта 2020

Я пытаюсь определить мою метку оси Z как R 0 в plot3D, ниже мой код, я использую выражение для zlab, но я получаю результат, как в изображение прикреплено здесь.

library(plot3D)
lambda <- 1/12
sigma <- 0.4
gamma <- 0.4
beta <- 0.00007
c <-0.0034
m <- (0.08/12)
mu <- 1
f <- function(x,y){(beta*(x*(m+lambda)/((m+c)*(m+lambda)+m*y))*sigma*gamma)/((m+sigma+c)*(m+mu+c))}
x <- seq(0,1000,10)
y <- seq(0,1,0.01)
z <- outer(x,y,f)
persp3D(x=x, y=y, z=z, 
    col.palette = heat.colors, 
    phi = 20, theta = 300, nticks=4,
    zlab=expression('R'[0]), ylab = "k", xlab="A", 
    xlim = c(0, 1000), 
    ylim = c(0, 1), 
    zlim = c(0, 3.5),
    box = TRUE, border = NA, shade = .4,ticktype="detailed",scale= TRUE, expand = 0.5)

my 3D plot

1 Ответ

3 голосов
/ 30 марта 2020

text3D() позволяет выражениям отображать математическую аннотацию. Не забудьте установить xpd в графических параметрах на TRUE, иначе текст будет обрезан при выходе из области «графика».

persp3D(..., zlab = "", ...) # blank zlab
par(xpd = TRUE)
text3D(0, 1.4, 1, expression(R[0]), add = T)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...