gpt4 book ai didi

R rgl 轴刻度和刻度标签之间的距离

转载 作者:行者123 更新时间:2023-12-04 20:50:57 26 4
gpt4 key购买 nike

我正在使用 plot3d() 绘制一些点数据。
我想让我的 y 轴刻度标签更靠近我的 y 轴刻度线。

我能想到的最好的方法是

1)先绘制数据,不绘制轴

2) 调用axis3d() 绘制y 轴和刻度线,但禁止绘制标签。

3)查询每个刻度线在3D空间中的当前位置。将位置存储在向量中。

4) 使用 mtext3d() 在基于向量调整的位置添加标签

我在第 3 步遇到问题。我不知道如何查询每个刻度线的位置。
par3d() 允许您查询许多图形参数,是否有类似的东西可以用来获取每个 y 轴刻度的位置?

我接近这个错误吗?大概。

这是一段示例代码,没有为 y 轴标签添加文本....

require(rgl)
x <- rnorm(5)
y <- rnorm(5)
z <- rnorm(5)
open3d()
plot3d(x,y,z,axes=F,xlab="",ylab="",zlab="")
par3d(ignoreExtent=TRUE)
par3d(FOV=0)
par3d(userMatrix=rotationMatrix(0,1,0,0))
axis3d('y',nticks=5,labels = FALSE)
par3d(zoom=1)
par3d(windowRect=c(580,60,1380,900))

最佳答案

一种方法是在绘制轴之前明确定义刻度位置,而不是在绘制轴之后查询它们。然后你可以使用line= mtext3d 的选项像这样控制刻度标签与轴的距离:

require(rgl)
rgl.close()
x <- rnorm(5)
y <- rnorm(5)
z <- rnorm(5)
open3d()
plot3d(x,y,z,axes=F,xlab="",ylab="",zlab="")
par3d(ignoreExtent=TRUE)
par3d(FOV=0)
par3d(userMatrix=rotationMatrix(0,1,0,0))
par3d(zoom=1)
par3d(windowRect=c(580,60,1380,900))

# and here is the trick:
my.ticks <- pretty(y, n=5)
axis3d('y', at=my.ticks, labels=rep("", 5))
mtext3d(paste(my.ticks), at=my.ticks, edge='y', line=.6)

关于R rgl 轴刻度和刻度标签之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10811669/

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