16

例として、ポイント 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)) 

このようなことは可能ですか?

4

4 に答える 4

7

(完全を期すためです。)

これは、Rベースのグラフィックスではほぼ確実に不可能です。他の回答は、それがで実行可能であることを指摘していggplotます。パッケージのようなものでそれは可能かもしれませんplaywithが、少し遊んでもそれを行う方法はわかりませんでした。

于 2012-05-04T14:33:27.977 に答える
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))
于 2012-05-04T14:10:24.493 に答える
3

これで十分でしょうか?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)
于 2012-05-04T14:19:06.850 に答える
3

ggplot2 で軸の制限を変更できます。例えば、

require(ggplot2)
data(mpg) 

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

Ben Bolker が言及しているように、基本グラフィックスでは、追加パッケージなしでは絶対にできません。

于 2012-05-04T14:03:49.057 に答える