【问题标题】:Shift labels left/right in lattice graphics?在格子图形中向左/向右移动标签?
【发布时间】:2012-10-17 17:02:00
【问题描述】:

在点阵图形中,我使用scales=list(alternating=3) 在每个绘图框上放置 x 轴刻度和标签。是否有一个参数可以向左/向右(或向上/向下)移动标签?例如,我的 x 轴标签是时间步数。当最后一个(最右边的)标签有超过 3 个字符(例如“1500”)时,最右边的字符会延伸到下一个绘图框,除非我在框之间添加大量空间(我宁愿避免)。我使用刻度的'at'参数在刻度之间保持大量空间,因此有空间向左移动“1500”,例如将最后一个“0”放在刻度线上。

【问题讨论】:

  • 这是默认格点图使用交替比例的原因之一。我的诀窍是手动将 xlim 指定为 2990 左右。

标签: r lattice


【解决方案1】:

或者可以简单地使用 scale=list(alternating=3, rot = 30) 或任何适合的角度旋转标签。迪迪埃

【讨论】:

    【解决方案2】:

    Dieter 和 Didier 的解决方案非常出色。谢谢你。我做了进一步的调查,并提出了第三种解决方案。我意识到 Lattice 粗略地试图将刻度标签放在刻度线上方/下方。此外,如果你给它一个字符串作为刻度标签,它似乎会按字面意思使用字符串。因此,如果您在字符串的末尾添加空格,则会将文本向左移动:

    # create some data
    df <- rbind(data.frame(x=1:1500, y=rnorm(1500), class="left"),
          data.frame(x=1:1500, y=rnorm(1500), class="right"))
    
    xyplot(y ~ x | class, data=df,
           scales=list( at=c(1,seq(500,1500,by=500)),               # I choose ticks explicitly
                        x=list(labels=c(1,500,1000,"1500     "))))  # spaces push "1500" left
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      • 2011-03-14
      相关资源
      最近更新 更多