如何在ggplot2图例中添加下标并自定义曲线颜色
解决方法
直接在scale_color_manual中同时配置自定义颜色和带下标图例标签即可,无需分开使用两个scale函数。
完整代码示例
# 加载包 require(ggplot2) # 生成数据 a1 = data.frame(x=seq(1,50),y=runif(50),z="var1",type="a") a2 = data.frame(x=seq(1,50),y=runif(50),z="var2",type="a") b1 = data.frame(x=seq(1,50),y=runif(50),z="var1",type="b") b2 = data.frame(x=seq(1,50),y=runif(50),z="var2",type="b") # 合并数据集 a = rbind(a1,a2) b = rbind(b1,b2) # 同时实现自定义颜色和下标图例 ggplot()+ geom_line(data=a,aes(x=x,y=y,color=z)) + geom_line(data=b,aes(x=x,y=y,color=z)) + theme_bw() + scale_color_manual( breaks = c("var1","var2"), values = c("blue","red"), # 指定var1为蓝色、var2为红色 labels = c(expression(Var[1]), expression(Var[2])) # 生成带下标的图例文本 )+ facet_grid(type~.)
关键说明
scale_color_manual的labels参数支持传入expression()对象,通过Var[1]的语法就能实现下标效果values参数用于绑定自定义颜色,顺序要和breaks里的类别顺序一一对应,确保颜色映射正确
内容的提问来源于stack exchange,提问作者Shreta Ghimire
相关产品推荐
相关产品推荐

