R语言ggplot2绘图如何修改color映射生成的图例标签内容
自定义ggplot2图例标签的实现方法
以下是两种常用的可行方案:
方案1:绘图时直接指定色阶标签
无需修改原始数据,在现有代码基础上补充scale_color_discrete()配置即可,修改后代码如下:
abc <- melt(prop_combined) ggplot(data = abc, aes(x = Var1, y = value, group = Var2, color = Var2)) + geom_line() + geom_point() + labs(color='NEW LEGEND TITLE') + # breaks参数对应Var2的原始取值,labels对应自定义标签,二者顺序必须一一匹配 scale_color_discrete(breaks = c(2.5, 5, 7.5, 10), labels = c("A1", "A2", "A3", "A4"))
如果你的Var2字段为连续数值类型,将scale_color_discrete替换为scale_color_continuous即可
方案2:提前修改数据字段的因子水平
如果后续仍需使用该数据集做其他可视化,建议直接修改数据的枚举值,一次修改全局生效:
abc <- melt(prop_combined) # 按原始取值顺序替换为自定义标签 abc$Var2 <- factor(abc$Var2, levels = c(2.5, 5, 7.5, 10), labels = c("A1", "A2", "A3", "A4")) ggplot(data = abc, aes(x = Var1, y = value, group = Var2, color = Var2)) + geom_line() + geom_point() + labs(color='NEW LEGEND TITLE')
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

