微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

删除 geom_text_repel() 中的选定标签

如何解决删除 geom_text_repel() 中的选定标签

enter image description here

从上面的图中我想删除显示在每行中间的标签,只在行的开头和结尾保留标签,但不知道该怎么做。以下是我的情节的完整代码

income_data %>% 
 drop_na(quarter) %>% 
 ggplot(aes(x = q_year,y = household_final_consumption_expenditure,group = quintile,color = quintile))+
 geom_point()+
 geom_line()+
 labs(title = "Household Final Consumption Expenditure 2019-2020",caption = "Source: Statistics Canada",x = "",y = "")+
 theme(axis.text.y  = element_blank(),axis.ticks.y = element_blank())+
 ggrepel::geom_text_repel(aes(label = household_final_consumption_expenditure))

示例数据

structure(list(q_year = c("Q 1 2020","Q 2 2020","Q 3 2020","Q 1 2020","Q 3 2020"),quintile = structure(c(1L,1L,2L,3L,4L,4L),.Label = c("Lowest income quintile","Second income quintile","Third income quintile","Fourth income quintile","Highest income quintile"),class = "factor"),household_final_consumption_expenditure = c(15050,13932,15660,15460,14580,16415,18285,17095,19484,21124,19531,22436)),row.names = c(NA,-12L),class = c("tbl_df","tbl","data.frame"))

希望这个样本数据足够了。如果需要其他任何东西,请在评论中告诉我。

想要的剧情

enter image description here

请对此提出一些建议。

解决方法

ggplot2 提供了更改每个 geom_* 或层中使用的数据的能力。这可以包括类似 ~ 的函数。也许这会起作用,未经测试:

... +
 ggrepel::geom_text_repel(aes(label = household_final_consumption_expenditure),data = ~ subset(.,q_year %in% c(...)))

(用你想要的字符串替换 ... ... 这也可以是 ! q_year %in% "Q 2 2020" 或类似的。)我在那里使用 subset,但你也可以使用 {{1 }}。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?