如何重新创建此3D直方图?

use*_*846 1 3d r data-visualization rotation rgl

我在说这张照片:

问题:

这是R,不是Matlab对吗?在页面下方,它表示它是用R制作的....

我怎样才能做到这一点?我的意思是,如何用这个先进的绿色表面和这个网格创建这样的三维散点图?我现在如何制作简单的散点图和三维散点图,但是如何创建这样的高级图片呢?这包是哪个?

我希望将它包含在一张纸张中,此图片应自动旋转.我知道如何将它包含在我的tex发行版中,但因此我需要单个png.所以例如1000张我制作动画的单张照片.但我怎样才能得到R?我需要旋转它,然后将每个小旋转保存为图形文件.

非常感谢你的帮助,我最大的问题是创建这个图形(包?)以及如何使它旋转(r代码?)

liu*_*hao 6

  1. 要创建此图,您可以查看persp功能.您可以更改参数以旋转图形.这是一个演示:

    require(grDevices) # for trans3d
    x <- seq(-10, 10, length= 30)
    y <- x
    f <- function(x,y) { r <- sqrt(x^2+y^2); 10 * sin(r)/r }
    z <- outer(x, y, f)
    z[is.na(z)] <- 1
    persp(x, y, z, theta = 90, phi = 30, expand = 0.5, col = "lightgreen")
    
    Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

改变时theta = 30:

persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightgreen")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  1. 对于颜色,您可以键入colors()以查看可以使用的颜色.目前,我发现lightgreen可能是你想要的最接近的颜色.