是否有可能改变ylim和XLIM当剧情已经得出?(Is it possible to change

2019-06-24 04:01发布

举个例子,如果我想绘制分1-5的阴谋,并添加点5-9,下面将工作:

> plot(c(1,2,3,4,5), ylim=c(0,10))
> points(c(5,6,7,8,9))

但是,如果我不事先知道待加点会是什么数字(他们可能是5-9,也可能是20-29),我不能设置ylim和XLIM提前。 我希望能够像做以下(不工作):

> plot(c(1,2,3,4,5))
> points(c(5,6,7,8,9), ylim=c(0,10)) 

是这样的可能吗?

Answer 1:

(只是为了保持完整性。)

这是几乎可以肯定在R基本图形是不可能的。 其他的答案指出,这是在可行ggplot 。 它可能在类似的可能playwith包,虽然玩了一个短位已经不是我出的方式做到这一点。



Answer 2:

你可以改变GGPLOT2轴限制。 例如,

require(ggplot2)
data(mpg) 

g = ggplot(mpg, aes(cyl, cty)) + geom_point() + xlim(5, 8)
g
g + xlim(4,8)

作为本Bolker提到,在基地的图形,你绝对不能没有额外的软件包做到这一点。



Answer 3:

ggplot2您可以修改轴:

df <-data.frame(age=c(10,10,20,20,25,25,25),veg=c(0,1,0,1,1,0,1),extra=c(10,10,20,20,25,25,90))
 g=ggplot(data=df,aes(x=age,y=veg))
 g=g+stat_summary(fun.y=mean,geom="point")
 g

然后

a<-g+coord_cartesian(xlim=c(0,100))
a+geom_point(data=df,aes(x=extra,y=veg))


Answer 4:

这会是不够好? 它把上限ylim作为一个变量,但在技术上你会添加点之前知道ylim:

my.data <- seq(0,5)
my.points <- seq(5,9)
plot(my.data, ylim=c(0,max(my.data,my.points)))
points(my.points)

你也可以把下界ylim以同样的方式:

my.data <- seq(0,5)
my.points <- seq(5,9)
plot(my.data, ylim=c(min(my.data,my.points),max(my.data,my.points)))
points(my.points)


文章来源: Is it possible to change the ylim and xlim when the plot has already been drawn?
标签: r plot limit