1

在 R 中,我正在尝试使用以下代码绘制 3D 散点图:

library(scatterplot3d)

mtcars$pcolor[mtcars$cyl==4] <- "red"
mtcars$pcolor[mtcars$cyl==6] <- "blue"
mtcars$pcolor[mtcars$cyl==8] <- "darkgreen"
with(mtcars, {
    s3d <- scatterplot3d(disp, wt, mpg,     
        color=pcolor, pch=19,       
        type="h", lty.hplot=2,      
        scale.y=.75,             
        main="3D",
        xlab="Displacement",
        ylab="Weight",
        zlab="Miles")
     s3d.coords <- s3d$xyz.convert(disp, wt, mpg)
     text(s3d.coords$x, s3d.coords$y,
        labels=row.names(mtcars),     
        pos=4, cex=.5)               

legend("topleft", inset=.05,      
    bty="n", cex=.5,             
    title="Number of Cylinders",
    c("4", "6", "8"), fill=c("red", "blue", "darkgreen"))
})

但现在我想打破 y 轴(重量)。我知道axis.break图书馆里有plotrix,但我如何将它与scatterplot3d

4

1 回答 1

0

我不确定这是可能的。根据包文档,“一些 par 参数在这里不适用,例如,许多用于轴计算的参数。”

正如 Scatterplot3d 包的作者在这个答案中看到的那样,可以通过调整刻度标记标签来实现,但这并没有移动实际的点。http://r.789695.n4.nabble.com/scatterplot3d-customise-axes-td4554528.html

最后,我发现这些类型的显示很难解释。考虑格点图方法。

于 2017-11-24T15:51:54.280 回答