Пакет latticeExtra
имеет ряд изящных функций для создания более хороших меток для логарифмических осей.В вашем случае посмотрите на xscale.components.log10ticks
.
Вот пример, взятый из справочной страницы , который показывает в основном то, что вы хотите (хотя здесь ось y получаетмаркировка на оси абсцисс):
xyplot((1:200)/20 ~ (1:200)/20, type = c("p", "g"),
scales = list(x = list(log = 2), y = list(log = 10)),
xscale.components = xscale.components.fractions,
yscale.components = yscale.components.log10ticks)
EDITED, предоставляя дополнительный пример для ответа на комментарии оригиналаплакат
library(latticeExtra)
dat <- 10^seq(-3, 5)
options(scipen=10)
options(digits=10)
xyplot(dat ~ dat, type = c("p", "g"),
scales = list(x = list(log = 2), y = list(log = 10)),
xscale.components = xscale.components.log10ticks,
yscale.components = yscale.components.log10ticks)