gpt4 book ai didi

r - 更改 R Scatterplot3D 中的 ylab 位置

转载 作者:行者123 更新时间:2023-12-04 06:45:57 24 4
gpt4 key购买 nike

我正在使用 R scatterplot3D,我需要在标签中使用 expression(),因为我必须使用一些希腊字母;
我的问题是:有没有办法将 y.lab 名称拉下来或沿轴写(在对角线位置)?我去帮助和包装描述,但似乎没有任何效果;
提前感谢您的帮助
玛丽亚

library(scatterplot3d)
par(mfrow=c(1,1))
A <- c(3,2,3,3,2)
B <- c(2,4,5,3,4)
D <- c(4,3,4,2,3)
scatterplot3d(A,D,B, xlab=expression(paste(x[a],"-",x[b])),
ylab=expression(x[a]),
zlab=expression(sigma^2))

最佳答案

由于 scatterplot3d() 的方式,您不能使用任何经典方式函数构造图。它基本上绘制在经典绘图 Pane 的顶部,这意味着轴标签绑定(bind)到经典位置。 z 标签打印在真正的左 Y 轴上,y 标签打印在真正的右 Y 轴上。

您可以使用 text()解决这个问题:

  • 使用 par("usr")获取 X 和 Y 坐标的限制
  • 计算您希望标签所在的位置(例如,水平位置的 90% 和垂直位置的 8%。)
  • 使用 text()放置它(可能还有参数 srt 来转动标签)

  • 这使它更通用一点,因此您不必为您制作的每个新地 block 尝试不同的值。

    例子 :
    scatterplot3d(A,D,B, xlab=expression(paste(x[a],"-",x[b])),
    ylab="",
    zlab=expression(sigma^2))
    dims <- par("usr")
    x <- dims[1]+ 0.9*diff(dims[1:2])
    y <- dims[3]+ 0.08*diff(dims[3:4])
    text(x,y,expression(x[a]),srt=45)



    enter image description here

    关于r - 更改 R Scatterplot3D 中的 ylab 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20637484/

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