如何通过数据中选定的名称来标记散点图中的点

问题描述 投票:0回答:1

我想在散点图中仅标记自定义选定的点。 我试过:

ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_text(label=rownames(mtcars))

output

但我只想标记以下名称:

Merc 450SE
Cadillac Fleetwood
Lincoln Continental
Chrysler Imperial
Fiat 128
Honda Civic
Toyota Corolla
Fiat X1-9
Porsche 914-2
Lotus Europa

预期输出将是:

output2

r ggplot2 scatter-plot geom
1个回答
0
投票

您可以在使用

geom_text
时对数据进行子集化。为了避免重叠问题,您可以使用
ggrepel
包中的 geom_text_repel

library(ggrepel)

show.names <- c('Merc 450SE',
                'Cadillac Fleetwood',
                'Lincoln Continental',
                'Chrysler Imperial',
                'Fiat 128',
                'Honda Civic',
                'Toyota Corolla',
                'Fiat X1-9',
                'Porsche 914-2',
                'Lotus Europa')

ggplot(mtcars, aes(x=wt, y=mpg)) +
  geom_point() +
  geom_text_repel(data=mtcars[rownames(mtcars) %in% show.names,], 
            label=show.names)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.