如何在ggplot2绘制的中国律师数量折线图两端添加数据值标签?
给折线图两端添加数据标签的解决方案
先修正你绘图代码里的语法错误(末尾的方括号应为闭合的]),然后通过以下步骤实现仅在折线首尾添加数据标签:
1. 筛选用于标签的首尾年份数据
从处理好的category数据中,提取每个分组的2017年(起始)和2021年(结束)的数据:
label_data <- category %>% group_by(category) %>% filter(year %in% c("2017", "2021")) %>% ungroup()
注:如果你的year列是数值类型,把c("2017", "2021")替换为c(2017, 2021)即可
2. 绘制带标签的折线图
在原绘图代码中加入geom_text(或geom_label),指定使用筛选后的label_data来渲染标签:
category %>% ggplot(aes(year, total, group = category, color = category)) + geom_line(size = 1.5) + scale_y_log10() + # 添加数据标签,nudge_y用于调整标签与折线的垂直距离 geom_text(data = label_data, aes(label = total), nudge_y = 0.05, size = 4) + theme_stata() + theme(axis.title.y = element_blank(), axis.title.x = element_blank())
可选调整
- 若希望标签带有背景框,将
geom_text替换为geom_label即可。 - 可以调整
nudge_y的数值(比如改成0.1或-0.05),让标签位置更贴合你的图表布局。
内容的提问来源于stack exchange,提问作者Psychedelique23
相关产品推荐
相关产品推荐

