【问题标题】:How to plot a surface with discontinuity in R using "persp" function如何使用“persp”函数在 R 中绘制不连续的曲面
【发布时间】:2019-08-26 20:14:50
【问题描述】:

我想使用persp 函数绘制一个不连续的曲面。

函数如下:

f <- function(x, y)
{
  r <- sqrt(x^2 + y^2)
  out <- numeric(length(r))
  ok <- r >= 1
  out[ok] <- exp(-(r[ok] - 1))
  return(out)
}

为了在规则网格上获得函数的透视图,我使用

x <- y <- seq(-4, 4, length.out = 50)
z <- outer(x, y, f)
persp(x, y, z, , theta = 30, phi = 30, expand = 0.5, col = "lightblue")

生成的绘图未正确显示曲面不连续点的圆形性质。关于如何获得更好的透视图而不是等高线图或图像的任何建议?

【问题讨论】:

    标签: r plot


    【解决方案1】:

    如果互动对你有用,我会选择这样的:

    library(plotly)
    plot_ly(z = ~ z) %>% add_surface()
    

    因为从上方可以最好地看到圆形性质,所以最好使用 90 的phi 来突出这个功能,但是这样你就失去了其余的形状,而且它毫无用处。因此,我会选择一些互动的东西。

    persp(x, y, z, , theta = 30, phi = 30, expand = 0.5, col = "lightblue")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-13
      • 2021-07-05
      • 1970-01-01
      • 2012-02-21
      • 1970-01-01
      • 2021-05-02
      • 2017-03-14
      相关资源
      最近更新 更多