将标签绘制为R中的点

smi*_*lig 2 plot r

我有以下内容:

> x<-runif(20)
> y<-rnorm(x)
> g<-rep(factor(LETTERS[1:4]),5)
Run Code Online (Sandbox Code Playgroud)

我能怎么做

> plot(x,y)
Run Code Online (Sandbox Code Playgroud)

这样绘制的点是对应的值g?

谢谢!

Ben*_*ker 8

尝试

plot(x,y,type="n")
text(x,y,as.character(g))
Run Code Online (Sandbox Code Playgroud)

或(强制性ggplot)

library(ggplot2)
d <- data.frame(x,y,g)
qplot(x,y,label=g,geom="text",data=d)
Run Code Online (Sandbox Code Playgroud)

或(格子)

library(lattice)
xyplot(y~x,
    panel=function(...) { 
       panel.xyplot(...,type="n")
       panel.text(x,y,g) })
Run Code Online (Sandbox Code Playgroud)

(我不知道如果一个人真的想要使用格子的某些特征,比如将图分成多个面板,最后的解决方案会有多好用......)


Jos*_*ien 6

对于单行解决方案,请使用pch(即'绘图字符')参数:

plot(x,y,pch=as.character(g))
Run Code Online (Sandbox Code Playgroud)