在散点图中突出显示矢量中的特定点

时间:2018-08-27 09:41:39

标签: r ggplot2 highlight

我有一个包含两列的数据框 df ,它们使用ggplot绘制在散点图中。现在,我将曲线分成间隔。间隔的切片点在向量 r 中。我现在想强调这些要点,以改善间隔的可视化。我正在考虑给这些间隔点着色,甚至想在向图中添加垂直线时对间隔进行分段...我尝试了一些命令,但它们对我没有用。 这是我的数据框外观的一个想法: d 是第一个枚举, e 是第二个(带有实例数)。

   d      e
   1      4
   2      4
   3      5
   4      5
   5      5
   6      4
   7      2
   8      3
   9      1
  10      3
  11      2
  12      3
  13      3
  14      3
  15      3
  16      3
  17      3
  18      4

我的向量 r 显示了设置间隔边界的位置。

7
8
9
10
11
12
18

任何想法如何做到?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以尝试使用tidyverse。这个想法是使用´mutate and%in%, then color by the resutling logical vector gr`查找重叠点。我还添加了垂直线来说明“间隔”。

library(tidyverse)
d %>% 
  mutate(gr=d %in% r) %>% 
  ggplot(aes(d,e, color=gr)) + 
   geom_vline(xintercept=r, alpha=.1) +
   geom_point()

编辑:没有tidyverse,您可以使用

添加gr
d$gr <- d$d %in% r
ggplot(d, aes(d,e, color=gr)) ...

enter image description here

数据

d <- read.table(text="  d      e
   1      4
                2      4
                3      5
                4      5
                5      5
                6      4
                7      2
                8      3
                9      1
                10      3
                11      2
                12      3
                13      3
                14      3
                15      3
                16      3
                17      3
                18      4", header=T)
r <- c(7:12,18)