在R Scatterplot3D中更改ylab位置

  发布于 2023-02-09 19:22

我正在使用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))

Joris Meys.. 6

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

你可以用它text()来解决这个问题:

用于par("usr")获取X和Y坐标的限制

计算您想要标签的位置(例如,水平位置的90%和垂直位置的8%).

使用text()放置它(以及可能的参数srt将标签)

这使它更通用,因此您不必为每个新绘图尝试不同的值.

示例:

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)

在此输入图像描述

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

    你可以用它text()来解决这个问题:

    用于par("usr")获取X和Y坐标的限制

    计算您想要标签的位置(例如,水平位置的90%和垂直位置的8%).

    使用text()放置它(以及可能的参数srt将标签)

    这使它更通用,因此您不必为每个新绘图尝试不同的值.

    示例:

    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)
    

    在此输入图像描述

    2023-02-09 19:24 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有