Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2,带刻面的几何图形条上的y极限_R_Ggplot2_Facet - Fatal编程技术网

R ggplot2,带刻面的几何图形条上的y极限

R ggplot2,带刻面的几何图形条上的y极限,r,ggplot2,facet,R,Ggplot2,Facet,在下面的示例中,通过选择free_y,每个刻度的最大值将按预期进行调整,但是,我如何获得也要调整的最小值?现在,它们都是从0开始的,当我真的希望上面的刻面从99开始到100,下面的刻面从900开始到1000 library(ggplot2) n = 100 df = rbind(data.frame(x = 1:n,y = runif(n,min=99,max=100),variable="First"), data.frame(x = 1:n,y = runif(n,mi

在下面的示例中,通过选择
free_y
,每个刻度的最大值将按预期进行调整,但是,我如何获得也要调整的最小值?现在,它们都是从0开始的,当我真的希望上面的刻面从99开始到100,下面的刻面从900开始到1000

library(ggplot2)
n = 100
df = rbind(data.frame(x = 1:n,y = runif(n,min=99,max=100),variable="First"),
           data.frame(x = 1:n,y = runif(n,min=900,max=1000),variable="Second"))
ggplot(data=df,aes(x,y,fill=variable)) + 
  geom_bar(stat='identity') +
  facet_grid(variable~.,scales='free')

您可以使用
geom\u linerange
而不是
geom\u bar
。执行此操作的一般方法是首先为
变量
的每个值找到
y
min
,然后将最小值与原始数据合并。代码如下所示:

library(ggplot2)
min_y <- aggregate(y ~ variable, data=df,  min)
sp <- ggplot(data=merge(df, min_y, by="variable", suffixes = c("","min")),
             aes(x, colour=variable)) + 
  geom_linerange(aes(ymin=ymin, ymax=y), size=1.3) +
  facet_grid(variable ~ .,scales='free')
plot(sp)
库(ggplot2)
也许这个链接会有帮助,或者