R 打印多个对象时的打印范围

R 打印多个对象时的打印范围,r,R,R将从第一次调用plot()自动确定绘图范围(xlim,ylim)。但是,当您在一个绘图上绘制多个对象时,对plot()的后续调用可能不适合该帧,如本例所示: mu <- 8 sd <- 8 plot(function (x) dnorm(x, mu, sd, log = TRUE), xlim = c(0, 10)) # log likelihood plot(function (x) (mu-x)/sd^2, col = "green", add = TRUE, xlim =

R将从第一次调用
plot()
自动确定绘图范围(
xlim
ylim
)。但是,当您在一个绘图上绘制多个对象时,对
plot()
的后续调用可能不适合该帧,如本例所示:

mu <- 8
sd <- 8

plot(function (x) dnorm(x, mu, sd, log = TRUE), xlim = c(0, 10)) # log likelihood
plot(function (x) (mu-x)/sd^2, col = "green", add = TRUE, xlim = c(0, 10)) # derivative log likelihood

mu您可以稍微调整您的方法,并预先定义函数

fun1 <- function(x) dnorm(x, mu, sd, log=TRUE)
fun2 <- function(x) (mu-x)/sd^2
最后,不要在
plot()
调用中重复已定义的函数。注意:您可能正在查找
curve()
,但在本例中,它也适用于
plot()

curve(fun1, xlim=c(0, 10), ylim=y.range)
curve(fun2, col="green", add=TRUE, xlim=c(0, 10))

沿着这条路走怎么样:

plot(function (x) dnorm(x, mu, sd, log = TRUE), xlim = c(0, 10)) # log likelihood
par(new=TRUE)
plot.function(function (x) (mu-x)/sd^2, col = "green", axes=FALSE, ann=FALSE) # derivative log 
axis(side = 4)

输出

试试
曲线(dnorm(x,mu,sd,log=TRUE),xlim=c(0,10))
(参见我的答案)。
plot(function (x) dnorm(x, mu, sd, log = TRUE), xlim = c(0, 10)) # log likelihood
par(new=TRUE)
plot.function(function (x) (mu-x)/sd^2, col = "green", axes=FALSE, ann=FALSE) # derivative log 
axis(side = 4)