我正在使用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))
答案 0 :(得分:6)
由于scatterplot3d()
函数构造绘图的方式,您无法使用任何经典方法。它基本上绘制在经典绘图窗格的顶部,这意味着轴标签绑定到经典位置。 z标签打印在真正的左Y轴上,y标签打印在真正的右Y轴上。
您可以使用text()
解决此问题:
par("usr")
获取X和Y坐标的限制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 :(得分:3)
scatterplot3d(A,D,B, xlab=expression(paste(x[a],"-",x[b])),
ylab="",
zlab=expression(sigma^2))
mtext( expression(x[a]), side=4,las=2,padj=18, line=-4)
我们需要使用相当极端的参数值来将表达式放在转换后的空间投影中的正确位置。