форматировать метки осей в решетке

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

require(stats)

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

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

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

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


person speendo    schedule 08.11.2011    source источник


Ответы (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"
person IRTFM    schedule 08.11.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 для этой цели.

person Richie Cotton    schedule 08.11.2011
comment
Я надеялся, что есть более простой способ. Спасибо! - person speendo; 08.11.2011