首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R中的曲面图类似于gnuplot中的曲面图

R中的曲面图类似于gnuplot中的曲面图
EN

Stack Overflow用户
提问于 2011-03-07 21:29:16
回答 3查看 3.5K关注 0票数 3

我最近开始使用R语言,现在我的大多数2d绘图都使用R。现在,我想使用R来生成3d图。我有来自工具的x,y,z数据,直到现在我在gnuplot中使用splot来生成曲面图。我想使用R来生成一个类似于gnuplot中的splot的曲面图。我看到的问题是,生成3d图R需要数据为矩阵格式,而我的数据不是这种格式。我的问题是,如果gnuplot能够从数据中生成一个图,为什么R不能这样做。我肯定我漏掉了什么,请帮帮我

这是来自gnuplot的图

这就是数据

代码语言:javascript
运行
复制
17.46 537.74 0.8
18.36 537.74 1.6
19.26 537.74 1.3
19.395 537.74 1.7
21.015 537.74 1.9
35.46 475.26 1.2
36.36 475.26 0.8
37.395 475.26 0.9
39.96 475.26 0.6
43.56 475.26 1
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-08 00:59:05

我是raster包的粉丝,这已经不是什么秘密了。它附带了一个使用rgl包的plot方法。这些图像可能相当令人眼花缭乱。

这是来自?raster::plot3D的示例

编辑

下面是一个如何使用三列矩阵绘制曲面的示例。这个例子看起来像是致命战斗中的死亡陷阱。如果你正在寻找内核平滑,那么它本身就值得一问。

代码语言:javascript
运行
复制
library(rgl)
library(raster)
x <- sample(-500:500, 1000, replace = TRUE)
y <- sample(-500:500, 1000, replace = TRUE)
z <- rnorm(500, 10, 20)
df <- cbind(x, y, z)

rst <- raster(ncols = 100, nrows = 100, xmn = -100, xmx = 100, ymn = -100, ymx = 100)
rst2 <- rasterize(x = df[,1:2], y = rst, df[, 3])
plot3D(rst2)

票数 3
EN

Stack Overflow用户

发布于 2011-03-07 22:24:41

您可以使用outer函数从函数生成矩阵:

代码语言:javascript
运行
复制
fn3d <- function(x,y) x^2-y^2
persp(outer(seq(-10,10,length=30),seq(-10,10,length=30),fn3d))

看看?persp,那里有很多例子。如果要进行交互式三维打印,请考虑安装软件包rgl

票数 1
EN

Stack Overflow用户

发布于 2011-03-08 01:27:01

晶格包中的线框和水平图函数使用像gnuplot一样的数据格式,而不需要矩阵。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5220283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档