楼主: 九局下半ryo
1383 1

[问答] 求问,如何用R画出下面这种带坐标的三维图 [推广有奖]

  • 0关注
  • 0粉丝

大专生

23%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
179 点
帖子
5
精华
0
在线时间
88 小时
注册时间
2019-3-18
最后登录
2023-4-24

1论坛币
萌新不太懂,一般作图用persp函数作图的基础上,怎么根据坐标改变峰值的位置呢?
譬如我想要在一个500*500的坐标内(高度随意)在(100,100)处确定峰值并且画出网格线,该怎么操作

感谢

这张图是论坛上几年前的了,一直没懂,用rgl包可以操作吗?

沙发
caozhaowen 在职认证  发表于 2020-2-28 01:27:05 |只看作者 |坛友微信交流群
有这个类似函数。研究一下吧。
  1. #install.packages("rgl")
  2. #library(rgl)
  3. open3d()
  4. x <- sort(rnorm(1000))
  5. y <- rnorm(1000)
  6. z <- rnorm(1000) + atan2(x, y)
  7. plot3d(x, y, z, col = rainbow(1000))

  8. x <- seq(-10, 10, length = 30)
  9. y <- x
  10. f <- function(x, y) { r <- sqrt(x^2 + y^2); 10 * sin(r)/r }
  11. z <- outer(x, y, f)
  12. z[is.na(z)] <- 1
  13. open3d()
  14. bg3d("white")
  15. material3d(col = "black")

  16. persp3d(x, y, z, aspect = c(1, 1, 0.5), col = "lightblue",
  17.         xlab = "X", ylab = "Y", zlab = "Sinc( r )",
  18.         polygon_offset = 1)
  19. persp3d(x, y, z, front = "lines", back = "lines",
  20.         lit = FALSE, add = TRUE)
复制代码


2.png 1.png

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 08:56