繁体   English   中英

带颜色组的散点图 - 基础R图

[英]Scatterplot with color groups - base R plot

我有一个简单的散点图

x<-rnorm(100)
y<-rnorm(100)
z<-rnorm(100)

我想绘制plot(x,y)但是点的颜色应该基于z进行颜色编码。

此外,我希望能够定义z应该有多少组(以及颜色)。 并且这种分组应该能够抵抗异常值(可能将z密度分成n相等的密度组)。

直到现在我手动执行此操作,有没有办法自动执行此操作?

注意:我想用base R而不是ggplot来做这个。

您可以将颜色向量传递给col参数,因此只需以对应用程序有意义的方式定义z组即可。 在base中有cut()函数,或在Hmisc中有cut2() ,它提供了更多的灵活性。 为了帮助选择合理的调色板, RColorBrewer包非常宝贵。 这是定义x,y,z后的一个快速示例:

z.cols <- cut(z, 3, labels = c("pink", "green", "yellow"))
plot(x,y, col = as.character(z.cols), pch = 16)

在此输入图像描述

显然,您可以手动添加legend 不幸的是,我不认为所有类型的图都接受col参数的向量,但是type = "p"显然有效。 例如, plot(x,y, type = "l", col = as.character(z.cols))对我来说是单色。 对于这些图,您可以使用lines()segments()或您需要使用的低级绘图命令添加不同的颜色。 请参阅@Andrie的答案,在此处使用基本图形中的type = "l"绘图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM