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