本文介绍了将颜色和形状的图例合并为一个图例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我从2 x 2研究设计中创建ggplot图,并且希望使用2种颜色和2个符号来对我的4种不同处理组合进行分类。目前我有2个传说,一个是颜色,一个是两个形状。我如何将它们合并成一个单独的图例,以便我有一个蓝色圆圈,一个红色圆圈,一个蓝色三角形和一个读取三角形? 一些数据: year group1 group2 beta lcl ucl data $ p $ b $ pre $库$ GGP (数据=数据,aes(x =年,y =贝塔,颜色=状态1,组=组2,形状=组1))+ pd ggplot b $ b geom_point(position = pd,size = 4)+ geom_errorbar(aes(ymin = lcl,ymax = ucl),color =black,width = 0.5,position = pd)+ scale_colour_hue(name =Treatment& State,#Legend标签,使用较深的颜色 labels = c(Control,Exclosure),l = 40)+ scale_shape(name =State,labels = c (Non-F,Flwr)) 解决方案您需要使用相同的名称和 pd c > .65) ggplot(data = data,aes(x = year,y = beta,color = group2,shape = group2))+ geom_point(position = pd,size = 4)+ geom_errorbar(aes(ymin = lcl,ymax = ucl),color =black,width = 0.5,position = pd)+ scale_colour_manual(name =Treatment& State, labels = c(Control,Non-F,Control,Flwr,Exclosure,Non-F,Exclosur e,Flwr), values = c(blue,red,blue,red))+ scale_shape_manual(name =Treatment&状态, labels = c(Control,Non-F,Control,Flwr,Exclosure,Non-F,Exclosure,Flwr), values = c(19, ) I'm creating a plot in ggplot from a 2 x 2 study design and would like to use 2 colors and 2 symbols to classify my 4 different treatment combinations. Currently I have 2 legends, one for the colors and one for the two shapes. How can I combine them into a single legend so I have one blue circle, one red circle, one blue triangle, and one read triangle?Some data:state1 <- c(rep(c(rep("N", 7), rep("Y", 7)), 2))year <- rep(c(2003:2009), 4)group1 <- c(rep("C", 14), rep("E", 14))group2 <- paste(state1, group1, sep = "")beta <- c(0.16,0.15,0.08,0.08,0.18,0.48,0.14,0.19,0.00,0.00,0.04,0.08,0.27,0.03,0.11,0.12,0.09,0.09,0.10,0.19,0.16,0.00,0.11,0.07,0.08,0.09,0.19,0.10) lcl <- c(0.13,0.12,0.05,0.05,0.12,0.35,0.06,0.13,0.00,0.00,0.01,0.04,0.20,0.00,0.09,0.09,0.06,0.06,0.07,0.15,0.11,0.00,0.07,0.03,0.05,0.06,0.15,0.06) ucl <- c(0.20,0.20,0.13,0.14,0.27,0.61,0.28,0.27,0.00,1.00,0.16,0.16,0.36,0.82,0.14,0.15,0.13,0.13,0.15,0.23,0.21,0.00,0.15,0.14,0.12,0.12,0.23,0.16)data <- data.frame(state1,year,group1,group2,beta,lcl,ucl)Plot:library(ggplot2)pd <- position_dodge(.65)ggplot(data = data, aes(x = year, y = beta, colour = state1, group = group2, shape = group1)) + geom_point(position = pd, size = 4) + geom_errorbar(aes(ymin = lcl, ymax = ucl),colour = "black", width = 0.5, position = pd) + scale_colour_hue(name = "Treatment & State", #Legend label, use darker colors labels = c("Control", "Exclosure"), l = 40) + scale_shape(name = "State", labels = c("Non-F", "Flwr")) 解决方案 You need to use identical name and labels values for both shape and colour scale.pd <- position_dodge(.65)ggplot(data = data,aes(x= year, y = beta, colour = group2, shape = group2)) + geom_point(position = pd, size = 4) + geom_errorbar(aes(ymin = lcl, ymax = ucl), colour = "black", width = 0.5, position = pd) + scale_colour_manual(name = "Treatment & State", labels = c("Control, Non-F", "Control, Flwr", "Exclosure, Non-F", "Exclosure, Flwr"), values = c("blue", "red", "blue", "red")) + scale_shape_manual(name = "Treatment & State", labels = c("Control, Non-F", "Control, Flwr", "Exclosure, Non-F", "Exclosure, Flwr"), values = c(19, 19, 17, 17)) 这篇关于将颜色和形状的图例合并为一个图例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云! 09-06 05:12