【问题标题】:Lattice wireframe does not show mesh格子线框不显示网格
【发布时间】:2021-11-09 23:23:01
【问题描述】:

我想用格子绘制一个 3D 图形。我设法做了一个 3D 散点图,但如果我尝试使用线框函数绘制我的图表,则图表显示为空。

这是我可以重现我的问题的数据的一部分:

    structure(list(z = c(35.6848570203496, 20.6910550942398, 36.2505636561432, 
    38.9791450251443, 12.9514876234809, 10.0549459964936, 7.1604652315673, 
    14.681581323841, 29.7104179049907, 8.4814778127832), y = c(21.72, 
    21.72, 21.72, 21.72, 3.57, 3.57, 4.83, 4.83, 4.83, 4.83), x = c(22L, 
    136L, 79L, 23L, 34L, 22L, 16L, 66L, 30L, 1L)), row.names = c(NA, 
    -10L), class = c("tbl_df", "tbl", "data.frame"))

这是我的代码:

    wireframe(z~x*y,df, scales=list(arrows=FALSE))

【问题讨论】:

  • 您希望如何将这些点解释为曲面?线框的数据应该来自常规网格。我不清楚所需的输出是什么。
  • 另一种方法是使用plotly: plotly.com/r/3d-scatter-plots

标签: r plot lattice


【解决方案1】:

使用akima::interpdf 插值到常规网格,删除NA,然后使用格子wireframe

library(lattice)
library(akima)

i <- with(df, interp(x, y, z, extrap = TRUE))
g <- with(i, expand.grid(x = x, y = y))
df2 <- data.frame(g, z = c(i$z))
wireframe(z~x*y, na.omit(df2), scales=list(arrows=FALSE))

给予:

【讨论】:

    猜你喜欢
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    相关资源
    最近更新 更多