Jor*_*eys 18
除了ggplot2的解决方案(参见gsk3的评论)之外,我想补充一点,当使用正确的参数时,这也会在plot()中自动发生,例如:
x <- 1:10
y <- exp(1:10)
plot(x,y,log="y")
Run Code Online (Sandbox Code Playgroud)
您可以将参数log="x"用于X轴,或log="xy"两者都使用.
如果要格式化数字,或者您具有日志格式的数据,可以使用axis()进行解决方法.一些有趣的功能:
axTicks(x) 为您提供X轴(x = 1)或Y轴(x = 2)上的刻度线的位置bquote()将表达式转换为语言,但可以用其值替换变量.有关Latexbquote()中的更多信息以及R中的图标签中的变量?.as.expression()使语言对象来自bquote()表达式.这允许axis()进行格式化,如中所述?plotmath.语言对象不能这样做.良好格式化的示例:
x <- y <- 1:10
plot(x,y,yaxt="n")
aty <- axTicks(2)
labels <- sapply(aty,function(i)
as.expression(bquote(10^ .(i)))
)
axis(2,at=aty,labels=labels)
Run Code Online (Sandbox Code Playgroud)
这使

mrb*_*ich 12
以下是绘制此类轴的另一种方法:
plot(NA, xlim=c(0,10), ylim=c(1, 10^4), xlab="x", ylab="y", log="y", yaxt="n")
at.y <- outer(1:9, 10^(0:4))
lab.y <- ifelse(log10(at.y) %% 1 == 0, at.y, NA)
axis(2, at=at.y, labels=lab.y, las=1)
Run Code Online (Sandbox Code Playgroud)
编辑:这也解决latticeExtra了scale.components
| 归档时间: |
|
| 查看次数: |
17086 次 |
| 最近记录: |