##载入所需的R包
library(ggrepel)
## Loading required package: ggplot2
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ tibble 3.1.6 ✓ dplyr 1.0.9
## ✓ tidyr 1.2.0 ✓ stringr 1.4.0
## ✓ readr 2.1.1 ✓ forcats 0.5.1
## ✓ purrr 0.3.4
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
##ggrepel包添加标签
best_in_class <- mpg %>%
group_by(class) %>%
filter(row_number(desc(hwy)) == 1)#利用tidyverse包里的group_by和filter函数,找出每个class中hwy最高的数据。
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(color = class))+
geom_point(size = 3, shape = 1, data = best_in_class)+
ggrepel::geom_label_repel(aes(label = model),data = best_in_class)+ #利用ggrepel包中的goem_label_repel函数添加标签并自动调整位置
scale_color_brewer(palette = "Paired")+
theme(plot.title = element_text(size = 25, face = "bold"),
plot.subtitle = element_text(size = 18),axis.title = element_text(size = 16,color = "#222222",face = "bold"),
axis.ticks = element_blank(),axis.text = element_text(size = 14),
panel.grid.major.y = element_line(color = "#cbcbcb"), panel.grid.major.x = element_blank(),
panel.background = element_blank(), legend.title = element_text(size = 18,face = "bold"))