web-dev-qa-db-fra.com

R- tracer des nombres au lieu de points

J'ai réussi à faire un nuage de points, avec différents symboles pour chaque série de données. Mais ce que je veux faire, c'est faire le même nuage de points avec le point à afficher sous forme de nombres. Pas la valeur de chaque point, juste un numéro attribué.

En ce moment, j'ai trois profondeurs que je trace (0, 3, 6cm). J'ai tous mes 0 cm sous forme de triangles, etc. Je veux que mes points de 0 cm soient le caractère 0, les points de 3 cm apparaissent comme 3 et les points de 6 cm apparaissent comme 6.

Est-ce possible?

18
Valerie S

Bien sûr, passez simplement le paramètre pch en tant que caractère.

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: une bonne chose est que le paramètre pch, comme de nombreux paramètres graphiques de base, est vectorisé. Vous pouvez donc faire quelque chose comme ça (qui fonctionne également pour la réponse d'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

Vous pouvez utiliser text. Utilisation des données @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