【问题标题】:Exact axis ticks and labels in R Lattice xyplotR Lattice xyplot中的精确轴刻度和标签
【发布时间】:2013-07-11 02:50:48
【问题描述】:

我正在创建许多图(每个图都作为单独的图像),它们都必须具有相同的轴限制。使用 ylim 时,刻度线笨拙地放置在极端边缘,极值的刻度标签被省略。

library(lattice)
x=1:100
y=10+20*(runif(100))
xyplot(y~x)                 # Case 1 - automatic ylim
xyplot(y~x, ylim=c(10,20))  # Case 2 - specified ylim

在案例 1 中,轴刻度和标签在 (y=10,15,20,25,30) 处自动生成。所有刻度线都已标记,并且绘图矩形中的极端刻度线(y=10 和 y=30)有一些垂直填充。

在案例 2 中,当我指定 ylim 值时,在 (y=10,12,14,16,18,20) 处生成刻度线,但标签仅针对 (y=12,14,16,18) 出现.极端情况下缺少刻度标签。此外,绘图矩形中的极端刻度线没有垂直填充。

有没有一种方法可以指定 ylim 并且仍然会出现类似于案例 1 的刻度线和标签?

更一般地说,在指定 ylim 时:
1. 你怎么能准确地指定每个刻度线的位置?
2. 你怎么能准确地指定哪些刻度线被标记?

【问题讨论】:

  • 'xyplot' 通常填充 x 和 y 限制,以在 x 范围上下扩展 4%。

标签: r lattice axis-labels


【解决方案1】:

要将刻度线和标签放在您想要的位置,您可以执行以下操作:

xyplot(
  y~x,
  ylim=c(10,20),
  scales=list(
    y=list(
      at=seq(10,20,2),
      labels=c("a","","b","","c","") )
    )
)  

填充问题,除了手动调整ylim=参数外,我不确定如何解决。

【讨论】:

    【解决方案2】:

    Padding 由 lattice.options 和 axis.padding 控制。请参阅 ?lattice.options

    【讨论】:

    • 把你的简短回答写在评论里
    • 对不起,我还没有 50 声望。试过了
    • @Damirchi 将答案放在 cmets 中并不是一个好习惯,即使它们很短。
    • @Irenabyss 有一个简短的答案很好,但在达到限制之前不要发布诸如澄清问题之类的东西。这个答案很好,但它可以做一些扩展(比如解释 OP 要求的选项)。
    猜你喜欢
    • 2012-10-05
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2012-01-21
    • 1970-01-01
    相关资源
    最近更新 更多