如果我有 3 列的数据框,如何在 R 中创建 3d 曲面图?

una*_*der 0 r r-plotly

以下是我的数据框的前 20 行:

            x             y        z
1        0.50          0.50 48530.98
2        0.50          0.51 49029.34
3        0.50          0.52 49576.12
4        0.50          0.53 50161.22
5        0.50          0.54 50752.05
6        0.50          0.55 51354.43
7        0.50          0.56 51965.09
8        0.50          0.57 38756.51
9        0.50          0.58 39262.34
10       0.50          0.59 39783.68
11       0.51          0.60 41052.09
12       0.51          0.61 41447.51
13       0.51          0.62 26972.85
14       0.51          0.63 27134.74
15       0.51          0.64 27297.85
16       0.51          0.65 27462.82
17       0.51          0.66 27632.45
18       0.51          0.67 27806.77
19       0.51          0.68 27988.12
20       0.51          0.69 25514.42
Run Code Online (Sandbox Code Playgroud)

我需要创建 3D 曲面图才能查看它。最好的是我可以旋转它的角度,从各个角度观看它。

谢谢。

Mau*_*ers 5

您可以用来plotly创建 3D 曲面图。用于xtabs将您的数据转换为合适的matrix

library(plotly)
plot_ly(z = ~xtabs(z ~ x + y, data = df)) %>% add_surface()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


样本数据

df <- read.table(text =
    "           x             y        z
1        0.50          0.50 48530.98
2        0.50          0.51 49029.34
3        0.50          0.52 49576.12
4        0.50          0.53 50161.22
5        0.50          0.54 50752.05
6        0.50          0.55 51354.43
7        0.50          0.56 51965.09
8        0.50          0.57 38756.51
9        0.50          0.58 39262.34
10       0.50          0.59 39783.68
11       0.51          0.60 41052.09
12       0.51          0.61 41447.51
13       0.51          0.62 26972.85
14       0.51          0.63 27134.74
15       0.51          0.64 27297.85
16       0.51          0.65 27462.82
17       0.51          0.66 27632.45
18       0.51          0.67 27806.77
19       0.51          0.68 27988.12
20       0.51          0.69 25514.42", header = T)
Run Code Online (Sandbox Code Playgroud)