web-dev-qa-db-ja.com

R-点ではなく数値をプロットする

データ系列ごとに異なるシンボルを使用して、散布図を作成しました。しかし、私がやりたいことは、同じ散布図を作成し、そのポイントを数値として表示することです。各ポイントの値ではなく、割り当てられた数値のみです。

現在のところ、3つの深度(0、3、6cm)をプロットしています。私はすべての0cmを三角形として持っています。0cmポイントを文字0、3cmポイントを3として表示し、6cmポイントを6として表示したいと思います。

これは可能ですか?

18
Valerie S

もちろん、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))
18
Hong Ooi

textを使用できます。 @HongOoiデータの使用:

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

22
agstudy