当R =

时间:2017-04-30 04:35:54

标签: r function plot

背景:

当我们在R log = "y"调用中设置curve()时,R会将要绘制的函数转换为函数原始值的输出log10值( ie,无需更改原始函数以输出log10 )。

问题:

我想知道是否有可能让R绘制要绘制的函数的log(即自然对数)( 即,这个时间而不需要更改原始函数输出log )?

实施例

例如,下面,R仅通过设置log10 而无需更改{{1}来绘制函数LF的{​​{1}}值}函数输出log = "y" )。以同样的方式,我们可以让R绘制 LF函数的LF(无需将log10函数更改为输出log值)吗? < / p>

LF

1 个答案:

答案 0 :(得分:0)

@Andrew Gustar绝对正确,价值将是相同的,形状也是如此。

唯一的区别是刻度线

scale包提供了一些选项

library(ggplot2)
library(scales)

Dummy 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)))

enter image description here

替代绘图日志(LF)

logLF <- function(x) log(LF(x))
p + stat_function(fun = logLF) + xlim(250,266) 

enter image description here