如何将对数表示法中的对数表示法的值更改为格子包中的数值?

时间:2012-02-14 22:08:44

标签: r lattice

例如,我应该在此表达式中添加什么:

xyplot(a~b, groups=abc, data=super,
       scales=list(x=list(log=TRUE),y=list(log=TRUE)), 
       panel = panel.grid)

为了拥有100而不是10 ^ 2?

1 个答案:

答案 0 :(得分:7)

latticeExtra包具有许多漂亮的功能,可以为对数轴生成更好的标签。在您的情况下,请查看xscale.components.log10ticks

以下是一个取自help page的示例,它基本上显示了您想要的内容(尽管这里是获取您在x轴上需要的标签的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)

enter image description here


已编辑,提供了另一个回复原始海报评论的示例

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)

enter image description here