[英]Making an axis give Natural Log instead of log10 when log = “y” in R plot
当我们在R curve()
调用中设置log = "y"
时,R将要绘制的函数转换为函数原始值的输出log10
值( 即,无需更改原始函数以输出log10
值 )。
我想知道是否有可能让R绘制要绘制的函数的对log
(即自然对数)( 即THIS TIME,而无需将原始函数更改为输出log
数值 )?
例如,下面,R仅通过设置log = "y"
来绘制函数LF
的log10
值( 而无需更改LF
函数以输出log10
值 )。 以同样的方式,我们是否可以让R绘制LF函数的对log
(而无需更改LF
函数以输出log
数值)?
LF = function(x) dnorm(250, x, 2)*dnorm(265, x, 2)*dnorm(259, x, 2)
curve(LF, from = 250, to = 266, log = "y")
@Andrew Gustar绝对正确,值和形状将相同。
唯一的区别是刻度线
秤套件提供了一些选项
library(ggplot2)
library(scales)
虚拟ggplot
p <- ggplot(data = data.frame(x = 0), mapping = aes(x = x))
自然对数刻度以e为单位显示标签
p + stat_function(fun = LF) + xlim(250,266) +
scale_y_continuous(trans = log_trans(),
breaks = trans_breaks("log", function(x) exp(x)),
labels = trans_format("log", math_format(e^.x)))
替代绘图日志(LF)
logLF <- function(x) log(LF(x))
p + stat_function(fun = logLF) + xlim(250,266)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.