将图例插入与因子相关的图中

时间:2019-03-14 11:35:58

标签: r legend

我有一个plot(x,y)与另外两个因素zt相关联。 levels中有三个z,而t中有两个级别。如何正确使用legend函数插入legend来给出t1的z的三个级别,例如z1t1,z2t1,z3t1和t2的z的三个级别,例如z1t2,z2t2,z3t2 ?换句话说,图例应该总共显示六个。

with(df, plot(x, y, 
                 pch = as.numeric(as.factor(paste(z,t))), 
                 col = as.numeric(as.factor(paste(z, t)))))

1 个答案:

答案 0 :(得分:2)

这看起来像您要找的东西。

更新:现在对图例中的因素进行了排序。

#creating test data 

x <- rnorm(20)
y <- x + runif(20)
dat <-  data.frame("x" = x, "y" = y, 
                   z = sample(c("z1", "z2", "z3"), 20, replace = TRUE),
                   t = sample(c("t1", "t2"), 20, replace = TRUE))

#it's quicker to do the pasting outside
dat$zt <- as.numeric(as.factor(paste(dat$z,dat$t)))


with(dat, plot(x, y, 
               pch = zt, 
               col = zt))
with(dat, legend(x = "bottomright",
                 legend = sort(unique(paste(z,t))),
                 pch = unique(zt),
                 col = unique(zt)))


希望有帮助。

enter image description here