【问题标题】:R: Recreate a 3D mesh plotR:重新创建 3D 网格图
【发布时间】:2016-03-10 17:45:46
【问题描述】:

如何在 R 中重新创建以下绘图?

鉴于 Z 坐标由以下等式确定,我正在努力生成数据:

在哪里

矢量化解决方案会更好,3D 交互式绘图会更好。

我有以下几点:

## generate the data points from a multivariate normal
library(MASS)
library(ggplot2)
Sigma <- matrix(c(10,3,3,2),2,2)
set.seed(1)
df <- data.frame(mvrnorm(n=100,mu=c(10,10),Sigma=Sigma)) # X1=x, X2=y

theta0 = theta0 <- seq(-5,5,by=0.5)
theta1 <- seq(-5,5,by=0.5)
z = NULL
m <- theta1

【问题讨论】:

    标签: r plot 3d


    【解决方案1】:

    这是一个原型,可让您使用 rgl 包启动并运行。如果您想要旋转的其他交互性,那么需要追求其他的东西。此外,有些东西在下面是硬编码的(变量名称和 df),因此可以改进

    library(MASS)
    library(ggplot2)
    Sigma <- matrix(c(10,3,3,2),2,2)
    set.seed(1)
    df <- data.frame(mvrnorm(n=100,mu=c(10,10),Sigma=Sigma)) # X1=x, X2=y    
    theta0 = theta0 <- seq(-5,5,by=0.5)
    theta1 <- seq(-5,5,by=0.5)
    
    # Produce J
    f <- Vectorize(function(t0, t1) { sum((t0 + t1*df$X1 - df$X2)^2)})
    z <- outer(theta0, theta1, f)
    
    # Get the rgl library and plot
    library(rgl)
    persp3d(theta0, theta1, z, col="lightgray", smooth=TRUE)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多