我有一个看起来像这样的文件
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位的最高
答案 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”更改为更好的值