我正在使用R scatterplot3D,我需要在标签中使用expression(),因为我必须使用一些希腊字母;
我的问题是:有没有办法将y.lab名称拉下来或沿轴写入(在对角线位置)?我去帮忙并打包说明但似乎什么都没有用;
提前感谢您的帮助
玛丽亚
我的问题是:有没有办法将y.lab名称拉下来或沿轴写入(在对角线位置)?我去帮忙并打包说明但似乎什么都没有用;
提前感谢您的帮助
玛丽亚
library(scatterplot3d) par(mfrow=c(1,1)) A <- c(3,2,3,2) B <- c(2,4,5,4) D <- c(4,3) scatterplot3d(A,D,B,xlab=expression(paste(x[a],"-",x[b])),ylab=expression(x[a]),zlab=expression(sigma^2))
解决方法
由于scatterplot3d()函数构造绘图的方式,您不能使用任何经典方法.它基本上绘制在经典绘图窗格的顶部,这意味着轴标签绑定到经典位置. z标签打印在真正的左Y轴上,y标签打印在真正的右Y轴上.
>使用par(“usr”)来获取X和Y坐标的限制
>计算您想要标签的位置(例如,水平位置的90%和垂直位置的8%).
>使用text()放置它(可能还有参数srt来转动标签)@H_403_12@
这使它更通用,因此您不必为每个新绘图尝试不同的值.@H_403_12@
示例:@H_403_12@
scatterplot3d(A,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)
给@H_403_12@