R-绘制数字而不是点

19

我已经成功制作了一个散点图,每个数据系列都有不同的符号。但我想做的是用数字显示相同的散点图。不是每个点的值,而只是一个分配的编号。

目前,我要绘制三个深度(0、3、6厘米)。 我把所有0cm设置为三角形等。 我希望我的0cm点显示为字符0,3cm点显示为3,6cm点显示为6。

这个可以实现吗?


1
你能提供更多的代码,包括数据集和你创建的图吗? - Tyler Rinker
2个回答

22
您可以使用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')

在此输入图像描述


可能也可以只用 matplot(dat) - David Arenburg

20

没问题,只需要将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")

更新预计时间:一个很好的事情是,像许多基本图形参数一样,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))

14
请注意,此解决方案仅适用于单个字符标签。对于多个字符标签,请使用agstudy答案中的text - Heather Turner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接