如何在 3D 散点图中添加与轴线平行的虚线

How to add dashed lines parallel to axis lines in scatterplot 3D

我正在尝试在 3D 散点图中添加平行于 x、y、z 轴的虚线。我可以修改以下代码以添加虚线吗:

energy <- c(274.7539889,178.8493447,206.8084623,225.2049707,234.91386,359.9859873,251.4635995,406.480808,321.8857666,250.3560571)

time <- c(25.93572586,16.8826942,19.52192798,21.25848803,22.17497005,33.98130057,23.73720217,38.37023385,30.38478544,23.6326544)

cost <- c(6.861252677,13.22453603,13.53984311,4.355987685,21.9010971,16.41429768,15.33270222,27.78572681,26.44744434,24.62564853)



library(scatterplot3d)

with(mtcars, {scatterplot3d(
                 energy,time,cost,
                 log="xyz", zlab="Cost", ylab="Time", xlab="Energy",
                 cex.lab=1.5,font.lab=2,lwd=3,pch=20,
                 highlight.3d = T, angle = 55
)})

通过保存 scatterplot3d 的 return 值,您可以使用它的一些函数来绘制点和线。例如:

p3 = scatterplot3d(
                 energy,time,cost,
                 log="xyz", zlab="Cost", ylab="Time", xlab="Energy",
                 highlight.3d = T, angle = 55
)

p3$points3d(x=c(300,300),y=c(25,25),z=c(0,30),type="l",lty=2)

这在 scatterplot3d 的帮助中有记录:

Value:
[...]
points3d: function which draws points or lines into the existing plot.

还有用于绘制平面的函数和一个通用的 xyz.convert 函数,用于将任何 x、y、z 坐标转换为图形设备上的 x、y 坐标。