gpt4 book ai didi

r - 将点和线添加到 R 中的 3D 散点图

转载 作者:行者123 更新时间:2023-12-04 11:41:32 24 4
gpt4 key购买 nike

我想在 3d 散点图中可视化关于主成分(主成分作为这些椭球的轴)的浓度椭球。我使用了带有选项 ellipsoid = TRUE 的函数 scatter3d

data3d <- iris[which(iris$Species == "versicolor"), ]

library(car)
library(rgl)
scatter3d(x = data3d[,1], y = data3d[,2], z = data3d[,3],
surface=FALSE, grid = TRUE, ellipsoid = TRUE,
axis.col = c("black", "black", "black"), axis.scales = FALSE,
xlab = "X1", ylab = "X2", zlab = "X3", surface.col = "blue",
revolution=0, ellipsoid.alpha = 0.0, level=0.7, point.col = "yellow", add=TRUE)

绘制此图:

enter image description here

然后我试图添加“平均点”使用
points3d(mean(data3d[,1]), mean(data3d[,2]), mean(data3d[,3]), col="red", size=20)

但这一点不在它应该在的地方(在椭圆体的中心):
enter image description here

我想知道为什么以及如何重新调整它(?)。还有另一个问题,在此之后会出现如何将这个椭球的轴添加到绘图中?

最佳答案

看着 car:::scatter3d.default显示坐标由每个维度的最小值和最大值进行内部缩放;以下代码在绘图前进行缩放:

sc <- function(x,orig) {
d <- diff(range(orig))
m <- min(orig)
(x-m)/d
}
msc <- function(x) {
sc(mean(x),x)
}

points3d(msc(data3d[,1]),
msc(data3d[,2]),
msc(data3d[,3]), col="red", size=20)

关于r - 将点和线添加到 R 中的 3D 散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30017624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com