在R中的2d单形的3d图

时间:2016-03-08 12:15:00

标签: r

有没有办法在R?

中重现以下情节

enter image description here

修改

这是我在基础R中使用persp()和在情节中使用plot_ly执行的操作。也有点难看。

x <- seq(0,1,0.01) 
y <- seq(0,1,0.01)
f <- function(x,y){ z <- -x - y + 1 }
z <- outer(x,y,f)
z <- ifelse(z<0,NA,z)
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightblue")
plot_ly(x=x,y=y,z=z,type="surface") %>% layout(xaxis=list(range=c(0,1)), yaxis=list(range=c(0,1)), zaxis=list(range=c(0,1)))

BTW ...... matplotlib图是在这里获得的: http://blog.bogatron.net/blog/2014/02/02/visualizing-dirichlet-distributions/

2 个答案:

答案 0 :(得分:2)

在基础R中使用persp我能够做到这一点:

persp(0:1, 0:1, 
      matrix(c(1,0,0,NA), nrow=2), 
      col="green", theta=60, 
      xlab= "theta_1", 
      ylab = "theta_2", 
      zlab="theata_3")

但我无法弄清楚如何做一些事情,包括greek symbols on axes

如果有persp名专家想完成这项工作,我会把它变成一个wiki。

答案 1 :(得分:2)

这有点丑陋/仍然不完整,但至少显示了一种获取希腊标签的方法。

pp <- persp(0:1, 0:1, 
      matrix(c(2,0,0,NA), nrow=2), 
      col="green", theta=60, 
      xlab= "",
      ylab ="",
      zlab="",
      ticktype="detailed",
      nticks=1)

text(trans3d(0.5,-0.1,-0.1,pp),labels=expression(theta[1]))