【问题标题】:Changing axis displays for a graph using plot3D in R?在 R 中使用 plot3D 更改图表的轴显示?
【发布时间】:2021-03-01 01:50:39
【问题描述】:

我希望将图像保留在垂直 z 轴上的刻度下方,但从 xy 轴上删除刻度和数字。我希望能够为我的矩阵中的每个条件标记我的xy 轴,但还没有弄清楚如何使用text3D 做到这一点。出于某种原因(因为我使用的是 Mac?)我无法下载 axes3D,这是我在其他回复中看到的一种潜在解决方案。

这是我的代码:

x = c(0,1)
y = c(0,1)
zval = c(104.1861, 108.529, 110.3675, 110.4112)
z = matrix (zval, nrow=2, ncol=2, byrow=TRUE)
hist3D(x,y,z, zlim=c(101,111), colvar = NULL, d=2, col = "lightblue", NAcol = "white", breaks = NULL, colkey = NULL, theta=-60, phi=20, nticks=10, axes=TRUE, ticktype="detailed", space=0.5, lighting=TRUE, light="diffuse", shade=.5, ltheta = 50, bty = "g")

我的输出

最终,我想要更多类似的东西:

我对 R 很陌生。

stackoverflow.com/questions/26794236/ggplot2-3d-bar-plot

^ 这似乎是我需要的,但我无法复制代码而不会出错。当我尝试运行这篇文章时出现错误,因为我的 x 和 z(在这种情况下)轴不是数字:

cloud(y~x+z, d, panel.3d.cloud=panel.3dbars, col.facet='grey', xbase=0.4, ybase=0.4, scales=list(arrows=FALSE, col=1), par.settings = list(axis.line = list(col = "transparent")))

【问题讨论】:

  • 谢谢!完成。

标签: r plot 3d


【解决方案1】:

也许这可能会有所帮助(需要注意的是,3D 绘图有时会使解释更具挑战性)。

首先,我根据与您开始时类似的内容重新创建了一个数据框 d

x = c(0, 0, 1, 1)
y = c(0, 1, 0, 1)
z = c(104.1861, 108.529, 110.3675, 110.4112)

d <- data.frame(
  x = factor(as.logical(x)),
  y = factor(as.logical(y)),
  z = z
)

请注意,对于 xy,我将 0 和 1 转换为 FALSETRUEas.logical,然后将它们设为因数。

那么对于剧情:

library(latticeExtra)

cloud(z ~ x + y, data = d, panel.3d.cloud=panel.3dbars, col.facet='grey', 
      xbase=0.4, ybase=0.4, scales=list(arrows=FALSE, col=1), 
      par.settings = list(axis.line = list(col = "transparent")))

您将希望公式为z ~ x + y,其中z 是一个数字响应。

编辑:如果您想自定义坐标轴标签,您可以设置factor标签如下(例如):

d <- data.frame(
  x = factor(as.logical(x), labels = c("Hi", "Lo")),
  y = factor(as.logical(y), labels = c("Label1", "Label2")),
  z = z
)

情节

【讨论】:

  • 这非常有帮助,谢谢!有没有办法用 x 和 y 选项标记的东西不是真假?
  • 太好了,很高兴听到。你可以给标签任何你想要的文本。例如,您可以这样做:factor(as.logical(y), labels = c("Label1", "Label2"))...我将使用此信息编辑答案...
  • 基本上,factor 级别标签将指示轴标签中显示的文本。
猜你喜欢
  • 2020-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多