R rgl plot 值未显示在 Axis 上

标签 r axis rgl

我正在使用 r 中的 rgl 包来绘制一些数据。正如这里所做的那样:

http://www.r-bloggers.com/creating-3d-geographical-plots-in-r-using-rgl/

由于某种原因,比例尺与图表不一致。

我更改了 X Axis 和 Z Axis 的比例以增加浮雕,我最初认为这是导致问题的原因,但在下面的示例中,即使我将 0.02 更改为 1 也会出现问题。

library(rgl)

rdata <- c(0.8926,0.8986,0.9478,0.9672,0.916,0.912,0.9324,0.9532,0.9488,0.9376,0.921,0.927,0.9728,0.956,0.9318,0.9202)
labs <-c(100,200,500,1000)

rmatrix <- matrix(rdata, nrow=4,ncol=4,)
dimnames(rmatrix) <- list(labs,labs)

y <- as.matrix(rmatrix)
x <- 0.02*(1:nrow(y))
z <- 0.02*(1:ncol(y))

rgl.surface(x, z, y, color="red", back="lines")
axis3d('x--', labels=row.names(rmatrix),color="black")

为什么会这样?

感谢您的帮助! 垫子

最佳答案

没有为 axis3d 中的 labels 参数提供值,我得到了一个带有六个刻度线的 Axis 。由于您向 labels 参数提供了一个只有四个值的向量,因此看起来 axis3d 回收了这些值以覆盖所有刻度线。

通过为 at 参数提供一个值,告诉 axis3d 您想要放置刻度线的数据值:

axis3d('x--', at = x, labels=row.names(rmatrix),color="black")

附注我必须在 rgl.surface() 之前添加以下行以避免出现段错误

rgl.open()

关于R rgl plot 值未显示在 Axis 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15338416/

相关文章:

r - 使用 tidyverse 对长格式数据框中的两个变量求和

r - 使用二进制值时 R 中的直方图

r - dplyr 在 case_when 中用分号分隔

java - 带有 AXIS 服务器的 JAX-WS 客户端;响应中缺少 namespace

python + matplotlib : use locale to format y axis

在点阵中复制 rgl 视点

r - 如何将sqlite日期转换为R中的日期

c# - 在 Visual Studio 中制作 4 面图/4 面(笛卡尔)网格

R + Shiny + RGL : Recommended Way to Combine Shiny and RGL

r - 3d 模型图(3d 散点图 + 模型表面 + 连接点到表面)