举个例子,如果我想绘制分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))
是这样的可能吗?
举个例子,如果我想绘制分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))
是这样的可能吗?
(只是为了保持完整性。)
这是几乎可以肯定在R基本图形是不可能的。 其他的答案指出,这是在可行ggplot
。 它可能在类似的可能playwith
包,虽然玩了一个短位已经不是我出的方式做到这一点。
你可以改变GGPLOT2轴限制。 例如,
require(ggplot2)
data(mpg)
g = ggplot(mpg, aes(cyl, cty)) + geom_point() + xlim(5, 8)
g
g + xlim(4,8)
作为本Bolker提到,在基地的图形,你绝对不能没有额外的软件包做到这一点。
与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))
这会是不够好? 它把上限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)