2

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

require(stats)

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

给了我像-3.5e+0.7. 我希望格子写出整数。

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

先感谢您!

4

2 回答 2

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为此目的的参数。

于 2011-11-08T10:31:32.820 回答
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"
于 2011-11-08T14:50:02.857 回答