R 使用ggplot在面上创建零件固定、零件自由轴限制?

R 使用ggplot在面上创建零件固定、零件自由轴限制?,r,ggplot2,R,Ggplot2,我想使用ggplot2创建一个刻面图,其中y轴的最小限制将是固定的(比如0),最大限制将由刻面中的数据确定(就像scales=“free_y”时一样)。我希望下面的方法可以奏效,但没有这样的运气: library(plyr) library(ggplot2) #Create the underlying data l <- gl(2, 10, 20, labels=letters[1:2]) x <- rep(1:10, 2) y <- c(runif(10), runif(

我想使用ggplot2创建一个刻面图,其中y轴的最小限制将是固定的(比如0),最大限制将由刻面中的数据确定(就像
scales=“free_y”
时一样)。我希望下面的方法可以奏效,但没有这样的运气:

library(plyr)
library(ggplot2)

#Create the underlying data
l <- gl(2, 10, 20, labels=letters[1:2])
x <- rep(1:10, 2)
y <- c(runif(10), runif(10)*100)
df <- data.frame(l=l, x=x, y=y)

#Create a separate data frame to define axis limits
dfLim <- ddply(df, .(l), function(y) max(y$y))
names(dfLim)[2] <- "yMax"
dfLim$yMin <- 0

#Create a plot that works, but has totally free scales
p <- ggplot(df, aes(x=x, y=y)) + geom_point() + facet_wrap(~l, scales="free_y") 
#Add y limits defined by the limits dataframe
p + ylim(dfLim$yMin, dfLim$yMax)
库(plyr)
图书馆(GG2)
#创建基础数据

l在您的情况下,以下任一项都有效:

p + expand_limits(y=0)

p + aes(ymin=0)