2013-07-25 22 views
15

データ系列ごとに異なるシンボルを持つ散布図を作成しました。しかし、私がしたいのは、ポイントを持つ同じ散布図を数字として表示することです。各点の値ではなく、割り当てられた数だけです。ポイントの代わりにプロット番号

今のところ、3つの深さがあります(0,3,6cm)。私はすべて0cmを三角形などとしています。0cmの点を0、3cmの点を3、6cmの点を6にします。

これは可能ですか?

+1

はあなたが作成したデータセット、プロットなど、より多くのコードを提供することができます:@HongOoiデータを使用していますか? –

答えて

17

もちろん、pchパラメータを文字として渡すだけです。

dat <- data.frame(x=rnorm(100), y1=rnorm(100)-1, y2=rnorm(100), y3=rnorm(100)+1) 
plot(y1 ~ x, data=dat, pch="0", ylim=c(-4, 4)) 
points(y2 ~ x, data=dat, pch="3") 
points(y3 ~ x, data=dat, pch="6") 

ETA:1つの良いところはpchパラメータは、多くのベースのグラフィックスパラメータのように、ベクトル化されていることです。だからあなたはこれ(Agstudyの答えのために働く)のような何かをすることができます。

dat <- data.frame(x=rnorm(300), y=rnorm(300) + c(0,3,6), depth=rep(c(0,3,6), 100)) 
plot(x ~ y, data=dat, pch=as.character(dat$depth)) 
+8

この解決策は、1文字のラベルでのみ機能することに注意してください。複数の文字ラベルの場合、agstudyの答えのように 'text'を使います。 –

17

textを使用できます。

dat <- data.frame(x=rnorm(100), y1=rnorm(100)-1, y2=rnorm(100), y3=rnorm(100)+1) 
plot(y1 ~ x, data=dat, type='n', ylim=c(-4, 4))  
text(dat$x,dat$y1,label=0,col='blue') 
text(dat$x,dat$y2,label=1,col='green') 
text(dat$x,dat$y3,label=2,,col='red') 

enter image description here

+0

おそらく 'matplot(dat)'を実行することもできます –

関連する問題