R-графические числа вместо точек

Я успешно сделал диаграмму рассеяния с разными символами для каждого ряда данных. Но то, что я хочу сделать, это сделать ту же диаграмму рассеяния, что и отображаться как цифры. Не значение каждой точки, просто присвоенное число.

Как сейчас, у меня три глубины, которые я рисую (0, 3, 6 см). У меня есть все мои 0 см в виде треугольников и т.д. Я хочу, чтобы мои 0 см точки были символом 0, 3 см точки, чтобы отображаться как 3, а 6 см точек, чтобы отображаться как 6.

Возможно ли это?

Ответы

Ответ 1

Конечно, просто передайте параметр 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: хорошо, что параметр pch, как и многие базовые графические параметры, векторизован. Таким образом, вы можете сделать что-то подобное (что также работает для ответа Агстуди).

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

Ответ 2

Вы можете использовать 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