使用多个分布函数修复 R 图上的 y 轴标签

Fixing y-axis labels on R graph with several distribution functions

我正在尝试使用 标准 R 命令在 R 中绘制一些不同的伽玛分布函数——没有包。

正如您在此处看到的,我绘制的每个函数都重新绘制了 y 轴。有没有办法让我的所有 7 个函数都沿着同一个 y 轴移动?这是我的代码

par(mfrow=c(1,1))
x <- seq(0, 1, length = 10000)
fun1 <- function(x) dgamma(x, 1, 2)
fun2 <- function(x) dgamma(x, 2, 2)
fun3 <- function(x) dgamma(x, 3, 2)
fun4 <- function(x) dgamma(x, 5, 1)
fun5 <- function(x) dgamma(x, 9, .5)
fun6 <- function(x) dgamma(x, 7.5, 1)
fun7 <- function(x) dgamma(x, .5, 1)

plot(fun1, 0, 20, col = "red")
par(new = TRUE)
plot(fun2, 0, 20, col = "orange")
par(new = TRUE)
plot(fun3, 0, 20, col = "yellow")
par(new = TRUE)
plot(fun4, 0, 20, col = "green")
par(new = TRUE)
plot(fun5, 0, 20, col = "black")
par(new = TRUE)
plot(fun6, 0, 20, col = "blue")
par(new = TRUE)
plot(fun7, 0, 20, col = "purple")

与其使用 S3 调度调用 plot.function(),我更愿意直接调用 curve(),并使用 add 参数而不是 par(new = TRUE) 添加行现有地块;然后我们只得到一组轴和 y 轴的刻度标签:

curve(fun1, 0, 20, col = "red")
curve(fun2, 0, 20, col = "orange", add = TRUE)
curve(fun3, 0, 20, col = "yellow", add = TRUE)
curve(fun4, 0, 20, col = "green", add = TRUE)
curve(fun5, 0, 20, col = "black", add = TRUE)
curve(fun6, 0, 20, col = "blue", add = TRUE)
curve(fun7, 0, 20, col = "purple", add = TRUE)

如您所见,这与您最初的绘图完全不同,这是因为它每次都重新绘制轴,而不是坚持一组轴限制。