首页 > 解决方案 > 将平面添加到 R 中的散点图替换原始散点而不是添加

问题描述

我有 3 个变量的 3D 散点图,我用 plot_ly 在 R 中绘制。我现在想在同一个图中绘制一个平面。这就是我现在的做法。如果我注释掉 add_surface 线,它会绘制散点图。如果我取消注释此行以使其执行,则散点图将替换为平面图。相反,我希望将飞机添加到散点图中。我应该做些什么不同的事情来实现这一点?

als_orig <- read_csv("als.csv")
als <- als_orig %>% select(Age_mean, ALSFRS_slope, trunk_median)
datatable(als)
als.std <- as.data.frame(scale(als))
als.cov <- cov(als.std)
als.eigen <- eigen(als.cov)
als.eigen$vectors
pc1 <- als.eigen$vectors[,1]
pc2 <- als.eigen$vectors[,2]
c <- CrossProduct3D(pc1, pc2)

xx <- seq(-10, 10, length=100)
yy <- seq(-10, 10, length=100)
f <- function(x, y) { z <- (-x*c[1] - y*c[2])/c[3]}
zz <- outer(xx, yy, f)
fig <- plot_ly(als, x=~Age_mean, y=~ALSFRS_slope, z=~trunk_median, marker=list(size=1))
fig <- fig %>% add_surface(x=~xx, y=~yy, z=~zz)
fig

标签: rr-plotly

解决方案


推荐阅读