考虑以下简单的示例数据,其中有两个连续变量和第三个因子变量:
x<-rnorm(10)
y<-rnorm(10)
z<-as.factor(1:10)
df<-data.frame(x,y,z)
如果要绘制x与y的关系图,则可以有一个如下所示的双变量图:
ggplot(df,aes(x,y,col=z))+geom_point(alpha=.2)+
geom_text(data = df,label=z)
如果出于某种原因,我们希望按z对点进行排序,我们将如何做?也就是说,如果我们在x轴上水平移动,则无论变量x的顺序如何,我们都会拥有z1,z2,...,z10。
答案 0 :(得分:2)
在分配标签z之前,您需要根据条件对数据进行排序:
library(ggplot2)
my.df <- my.df[order(my.df$x), ]
my.df$z <- as.factor(1:10)
ggplot(my.df, aes(x, y, col = z)) +
geom_point(alpha = .2) +
geom_text(aes(label = z))
数据
set.seed(1) # With random numbers always use set.seed for reproducibility
my.df <- data.frame(x = rnorm(10), y = rnorm(10))