Question

I have successfully made a scatterplot, with different symbols for each data series. But what I want to do is make the same scatterplot with the point to show up as numbers. Not the value of each point, just an assigned number.

As of right now, I have three depths I am plotting (0, 3, 6cm). I have all my 0cm as triangles, etc. I want my 0cm points to be the character 0, the 3cm points to show up as 3, and the 6cm points to show up as 6.

Is this possible?

Was it helpful?

Solution 2

Sure, just pass the pch parameter as a character.

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: one nice thing is that the pch parameter, like many base graphics parameters, is vectorised. So you can do something like this (which also works for Agstudy's answer).

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))

OTHER TIPS

You can use text. Using @HongOoi data:

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top