如何在ggplot中为图例刻度手动添加自定义后缀
ggplot手动为图例刻度添加自定义后缀方法
你可以直接通过对应标度的labels参数实现自定义后缀添加,无需后期修图,基于你给出的示例代码修改后的完整可运行代码如下:
library(ggplot2) ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) + geom_point() + # 图例标签自定义配置 scale_color_discrete( labels = ~paste0(.x, "(s)") )
实现逻辑说明
- 示例中
Species是离散分类变量,映射到color美学,因此使用scale_color_discrete()对颜色对应的图例做调整 labels参数支持传入匿名函数,对自动生成的每个图例刻度文本做批量处理:上述代码中~paste0(.x, "(s)")是ggplot2支持的简洁匿名函数写法,作用是给每一个原有的分类名称末尾拼接(s)后缀,你可以替换成任意你需要的自定义文本- 如果需要给不同刻度设置完全不同的后缀/文本,也可以直接传入和分类数量等长的字符向量,例如针对iris的三个物种,写
labels = c("setosa(s)", "versicolor(s)", "virginica(s)")可以实现完全一致的效果 - 如果是连续型变量的图例需要加后缀,方法逻辑一致,把对应标度(比如
scale_color_continuous())的labels参数用同样的方式配置即可
内容的提问来源于stack exchange,提问作者Amin Shn
相关产品推荐
相关产品推荐

