强制ggplot显示2曲线功能

时间:2014-01-16 02:08:23

标签: r function ggplot2

我有两个功能y1y2

如果我单独绘制它们没问题(参见两个第一个数字)。

但是,如果我将它们组合起来,形状看起来是线性的(参见图3)。

我该如何解决?

x  <- seq(0, 50, 1) ;x
y1 <- exp(8.9191)+exp^(0.03307*x)
y2 <- exp(9.9191)+exp^(0.06307*x)
df <- data.frame(x,y1,y2)

require(ggplot2)

ggplot(df, aes(x)) +                  
  geom_line(aes(y=y2), colour="red")  #Looks nice (curvy)

ggplot(df, aes(x)) +                  
  geom_line(aes(y=y1), colour="blue") #Looks nice (curvy)

ggplot(df, aes(x)) +                    
  geom_line(aes(y=y1), colour="blue") +  
  geom_line(aes(y=y2), colour="red")  #Looks not nice linear

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

也许你可以使用facet_grid()和scale选项。 您将有两个方面,每个方面具有不同的y比例。

require(reshape2)
mdf <- melt(data.frame(y1, y2))
mdf$x <- x

ggplot(mdf, aes(x = x)) +
  geom_line(aes(y = value)) +
  facet_grid(variable ~ ., scales = "free_y")

enter image description here