r - 如何根据 ggplot2 散点图的数值阈值定义颜色组

标签 r colors ggplot2 scatter-plot threshold

我有一个包含 2 个变量的数据集 x = 事件编号 & y = 测定幅度。我正在尝试在 ggplot2 中创建散点图其中所有的点都是 > 3000用一种颜色和所有点着色 < 3000是不同的颜色。

我可以获得绘图并更改所有数据点的颜色,但无法弄清楚如何根据值阈值定义配色方案。

这是我正在使用的数据示例:

dat <- data.frame(x=c(399, 16022, 14756, 2609, 1131, 12135, 
                                 7097, 12438, 12604, 14912, 11042, 
                                 14024, 7033, 4971, 15533, 4507, 4627, 
                                 12600, 7458, 14557, 3999, 3154, 6073),
                  y=c(3063.40137, 3687.42041, 3911.856, 
                                    4070.91748, 4089.99561, 4095.50317,
                                    4159.899, 4173.117, 4177.78955, 
                                    4186.46875, 4201.874, 4272.022, 
                                    638.615, 649.8995, 668.8346,
                                    688.754639, 711.92, 712.689636, 
                                    721.1352, 737.841, 741.0727, 
                                    755.2549, 756.730652))

最佳答案

你真的只需要为此做一个新的指标变量。正如@hrbrmstr 所说,cut是一种很好的通用方法(适用于您想要的任意数量的切割点)。

dat$col <- cut(dat$y,
               breaks = c(-Inf, 3000, Inf),
               labels = c("<=3000", ">3000"))

ggplot(dat, aes(x = x, y = y, color = col)) +
  geom_point()

关于r - 如何根据 ggplot2 散点图的数值阈值定义颜色组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22886963/

相关文章:

r - 在 Github 上托管的 jekyll 站点上嵌入 R - Leaflet map

java - 将青色的整数颜色转换为 RGB 时遇到问题

r - 在 R 中使用 pheatmap 定义特定值着色

CSS:如何使用 z-index 控制侧边栏背景颜色

r - 向ggplot中的每个矩形添加相同的渐变

r - gtable结构元素说明

R Shiny 的 react 代码在移入函数时没有反应

r - 颜色点(如果它们位于字符向量中)

r - 根据 R 中的所有行对矩阵进行排序

r - 将移动平均图添加到R中的时间序列图