首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在scatterplot3d中指定轴标签的方向

在scatterplot3d中指定轴标签的方向
EN

Stack Overflow用户
提问于 2014-08-23 13:07:27
回答 2查看 1.4K关注 0票数 1

我想知道是否可以在scatterplot3d中指定轴标签的方向?我希望y轴标签(wt)与y轴平行,而不是像现在那样与z轴平行:

代码语言:javascript
复制
library(scatterplot3d)
with(mtcars, {
   scatterplot3d(disp, wt, mpg, main="")
})

EN

回答 2

Stack Overflow用户

发布于 2014-08-23 14:14:38

目前,它是硬编码的。您可以创建一个新的scatterplot3d函数,并将mtext2函数定义替换为一个稍作修改的版本,该版本将接受一个'las‘参数,然后为'ylab’的该函数调用一个不同的值(2)。

代码语言:javascript
复制
  ......
  mytext2 <- function(lab, side, line, at, las=0) mtext(lab, side = side, 
         line = line, at = at, col = col.lab, cex = cex.lab, 
         font = font.axis, las = las)   # shift hard coding to a default value
     lines(c(x.min, x.max), c(z.min, z.min), col = col.axis, 
         lty = lty.axis)
     mytext2(xlab, 1, line = 1.5, at = mean(x.range))
     lines(xx[1] + c(0, y.max * yx.f), c(z.min, y.max * yz.f + 
         z.min), col = col.axis, lty = lty.axis)
     mytext2(ylab, if (angle.1) 
         2
     else 4,  las=2, line = 0.5, at = z.min + y.max * yz.f)  # 2nd change
    .....

票数 1
EN

Stack Overflow用户

发布于 2014-08-23 14:12:03

这个答案是从@JorisMeys answer to a similar question about changing the label position窃取并略微调整的。

代码语言:javascript
复制
with(mtcars, {
   scatterplot3d(disp, wt, mpg, main="", ylab="")
})

dims <- par("usr")

x <- dims[1]+ 0.97*diff(dims[1:2])
y <- dims[3]+ 0.4*diff(dims[3:4])

text(x, y, "wt", srt=0)

当然,你还可以做更多的事情,特别是在利润率方面。例如:

代码语言:javascript
复制
with(mtcars, {
   scatterplot3d(disp, wt, mpg, main="", ylab="",
   y.margin.add=0.5)
})
dims <- par("usr")

x <- dims[1]+ 0.97*diff(dims[1:2])
y <- dims[3]+ 0.4*diff(dims[3:4])

text(x, y, "wt")

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25458652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档