ggplot或R

时间:2018-09-18 12:46:45

标签: r ggplot2

我有一个看起来像这样的文件

2 3 LOGIC:A
2 5 LOGIC:A
3 4 LOGIC:Z

我在x轴上绘制了第1列,在y上绘制了第2列,其中第3列充当了图例

ggplot(Data, aes(V1, V2, col = V3)) + geom_point()

但是,在ggplot本身中,可以将第2列和第1列相减,并在每个散点的第3列值中标出该减法的前10个最高绝对差行。我不想标记整个数据集。只是排名前10位的最高

1 个答案:

答案 0 :(得分:0)

您可以尝试执行此操作(如果您的原始数据框是数据):

library(dplyr)
library(ggplot2)

Data$sub <- abs(Data$V2 - Data$V1)

Data2<- Data %>%
  top_n(10,sub)

ggplot()+ geom_text(data=Data2,aes(V1,V2-0.1,label=V3))+
    geom_point(data=Data,aes(V1,V2))

使用库dplyr可以过滤数据帧的最高值。 您可以将“ 0.1”更改为更好的值