метки оси формата в решетке - PullRequest
2 голосов
/ 08 ноября 2011

Как разместить метки осей в удобном формате в решетке?

require(stats)

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

дает мне y-метки типа -3.5e+0.7. Я бы хотел, чтобы решетка написала целое число.

(может быть, это легко, но я не могу найти решение.)

Заранее спасибо!

Ответы [ 2 ]

9 голосов
/ 08 ноября 2011

Создайте свои собственные метки и передайте их аргументу 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.Посмотрите на format, prettyNum и sprintf, чтобы начать.


Если вы хотите сделать это с датами, то обратите внимание, что scales принимает аргумент formatдля этой цели.

2 голосов
/ 08 ноября 2011

Есть несколько «глобальных опций», которые могут повлиять на то, как печатаются значения.В этом случае вы хотите переместить 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"
...