格式化格式的轴标签

时间:2011-11-08 08:14:15

标签: r format labels lattice

如何将我的轴标签以方便的格式放入格子中?

require(stats)

xyplot(lat*1000000 ~ long, data = quakes)

给了我像-3.5e+0.7这样的y标签。我希望格子写出整数。

(也许这很容易,但我找不到解决方案。)

提前谢谢!

2 个答案:

答案 0 :(得分:9)

创建自己的标签并将其传递给scales参数。

y_at <- pretty(quakes$lat*1e6)
y_labels <- formatC(y_at, digits = 0, format = "f")
xyplot(
  lat*1000000 ~ long, 
  data = quakes, 
  scales = list(
    y = list(
      at = y_at, 
      labels = y_labels
    )
  )
)

对于格式化步骤,formatC有很多替代方法。请查看formatprettyNumsprintf,以便开始使用。


如果您想对日期执行此操作,请注意scales为此目的接受format参数。

答案 1 :(得分:2)

有一些“全局选项”可能会影响值的打印方式。在这种情况下,scipen是您要移动的那个:

old_op <- options(scipen=10)
xyplot(lat*1000000 ~ long, data = quakes)
options(old_op)
# probably better to restore it so the rest of you session is more "normal"