Michael Eisenring
2019-Apr-05 23:53 UTC
[R] Color-coding data points in complex dotplot (ggplot2)
Dear R-List members, I produced a dot plot (see attachment 1) on 6 different treatments (trees under 6 different conditions; in column " Location.Treatment " in my raw data). For each of these " Location.treatment" categories, I calculated a mean value and the SE for a specific compound (%CT). I am able to produce a plot where all the 6 treatments (in column " Location.Treatment") are separated (see code and Fig. 1) so that each of two "con" and "exp" treatments (in the column "treatment") are nested within one of the three locations (High, mid, low; in the column "Location") (see plot that the code produces). This is the plot structure I want. Now I would like to assign colors to the raw data points ( the "point cloud" next to each mean +SE value). Each of these points stems from a different "Genotype" and I would like to color code the points with regard to the genotypes (e.g. all points from Genotype A should be green, all points from Genotype B should be red etc.) I would like to use my own specified colors in the code (not the standard palette). I tried did the following (without success) 1. I added "aes(color=Genotype,.." into "geom_point(..)" 2. I added my specific colors to "scale_color_manual" scale_color_manual(labels=c("Control","Damaged"),values=c("red","black","#06 7c43","#89b651","#dc5b09","#e4a710","#92c5de","grey","#1d71b4","#7873a3".... .. However, if I do that my "nested" plot structure disappears (i.e. I cannot visually differentiate between "con" and "exp" treatments nested within mid /high/. See Fig. 2) Basically, all I want is to produce a plot that looks like the one from my actual code( Fig.1) but where the individual data points are colored according to "Genotypes" Below is my code and my raw data. Help is very much appreciated! Thanks a lot, Mike #CODE----------------------------------------------------- require(ggplot2) #REMOVE START FOR ANALYSIS dta<-subset(dta_complete,Time=="Stop") dta #Calculation of SE data_summary <- function(x) { m <- mean(x) ymin <- m-sd(x)/sqrt(length(x)) ymax <- m+sd(x)/sqrt(length(x)) return(c(y=m,ymin=ymin,ymax=ymax)) } pd1 = position_dodge(0.5) plot_CT<- ggplot(dta, aes(x=Location, y=CT, colour=Treatment,shape=Treatment)) + stat_summary(fun.data=data_summary, position=pd1, geom="errorbar", width=0.05) + stat_summary(fun.data=data_summary, position=pd1, geom="point", size=2) + geom_point(position=position_jitterdodge(dodge.width=0.8, jitter.height=0, jitter.width=0.2), alpha=0.7) + labs(title="", x="", y = "CT (% dw)")+ scale_color_manual(labels=c("Control", "Damaged"),values=c("red","black"),guide = guide_legend(reverse = TRUE) )+ scale_shape_manual(labels=c("Control", "Damaged"),name="Treatment",values = c(16,16),guide = guide_legend(reverse = TRUE) )+ #Style of background theme_classic()+ #Change title theme(plot.title = element_text(color="black", size=17, face="bold"))+ #Font size axis theme(axis.text=element_text(size=12), axis.title=element_text(size=17))+ scale_x_discrete("Location",labels = c("Low", "Mid", "High"),expand=c(0.1, 0.5))+ coord_flip() plot_CT #DATA----------------------------------------------------------------------- ----------------- structure(list(Location = structure(c(2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L), .Label = c("High", "Low", "Mid" ), class = "factor"), Treatment = structure(c(2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), .Label = c("Con", "Exp" ), class = "factor"), Time = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Start", "Stop" ), class = "factor"), Genotype = structure(c(7L, 7L, 7L, 7L, 7L, 7L, 4L, 4L, 4L, 4L, 4L, 4L, 6L, 6L, 6L, 6L, 6L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 8L, 8L, 8L, 8L, 8L, 8L, 1L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 6L, 6L, 6L, 6L, 6L, 6L, 8L, 8L, 8L, 8L, 8L, 8L, 5L, 5L, 5L, 5L, 5L, 5L, 7L, 7L, 7L, 7L, 7L, 1L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 6L, 6L, 6L, 6L, 6L, 6L, 8L, 8L, 8L, 8L, 8L, 8L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("A", "B", "C", "D", "E", "F", "G", "H"), class = "factor"), Time.Location structure(c(5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L), .Label = c("StartHigh", "StartLow", "StartMid", "StopHigh", "StopLow", "StopMid"), class "factor"), Location.Treatment = structure(c(4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L), .Label = c("HighCon", "HighExp", "LowCon", "LowExp", "MidCon", "MidExp"), class = "factor"), CT = c(4.61538, 3.96739, 7.34797, 3.58108, 2.89655, 2.7993, 10.56122, 10.68396, 15.57252, 6.79245, 9.23469, 9.18, 1.1087, 4.26136, 1.14504, 2.20238, 3.15789, 9.54082, 11.05263, 15.84783, 10.48986, 12.62195, 15.12931, 5.51471, 8.20313, 11.85811, 3.38115, 7.5, 9.69512, 8.64407, 11.30597, 14.42797, 8.8125, 11.82482, 11.53061, 6.97674, 9.62766, 10.88028, 5.50403, 9.73558, 8.56419, 11.84524, 16.34892, 18.15789, 10.58036, 14.80932, 12.06081, 12.96992, 9.86014, 12.45652, 6.625, 6.93396, 9.10714, 3.66142, 9.19811, 10.88346, 2.88851, 6.85096, 10.27778, 8.29787, 13.00885, 14.38017, 7.5, 11.77734, 13.84615, 2.22772, 5.28, 5.25641, 1.0514, 2.73256, 4.11111, 11.39098, 11.10236, 13.00781, 7.95259, 10.15748, 13.16327, 8.90625, 10.04587, 13.625, 6.27049, 9.27966, 10.94037, 5.80189, 7.76978, 7.34266, 3.80952, 3.75, 7.29545, 10.45872, 16.83206, 5.95238, 7.70833, 10.92391, 11.03659, 14.39338, 14.88281, 8.22917, 11.63603, 14.7561, 11.9469, 14.65649, 16.84615, 8.37209, 13.27982, 13.69128, 7.77778, 12.59124, 12.32955, 7.00472, 8.41121, 7.22222, 9.43878, 10.33613, 14.16667, 9.60526, 8.77232, 11.91589, 7.01786, 12.29592, 11.83673, 8.55634, 11.17347, 12.68836, 2.7551, 6, 7.21374, 2.52101, 4.03846, 4.80634, 5.49569, 4.78723, 6.02273, 3.04511, 3.59244, 2.48239, 1.54412, 5.74219, 7.68595, 1.33065, 2.625, 4.42164, 9.66942, 11.875, 17.91667, 10.81731, 13.05288, 16.23853, 11.93662, 14.31818, 14.09396, 7.82374, 15.5042, 10.86207, 6.87023, 11.69492, 12.65957, 3.48684, 5.29018, 7.89474, 10.53309, 17.05479, 16.63866, 7.43119, 12.06522, 12.05607, 6.14865, 10.44, 14.69512, 9.24757, 9.04018, 12.38255, 2.22222, 3.90756, 5.85616, 2.23958, 3.8125, 3.01056, 11.60256, 12.22222, 11.8007, 7.76316, 10.08197, 12.78777, 9.20455, 12.1875, 16.59449, 6.82331, 10.91518, 11.5748)), row.names = 192:381, class = "data.frame")
HI Michael Your code runs but we did not get any attached figure. You might want to try sending it as a .pdf file. They usually make it through the spam filters On Sat, 6 Apr 2019 at 08:09, Michael Eisenring <michael.eisenring at gmx.ch> wrote:> > Dear R-List members, > > I produced a dot plot (see attachment 1) on 6 different treatments (trees > under 6 different conditions; in column " Location.Treatment " in my raw > data). For each of these " Location.treatment" categories, I calculated a > mean value and the SE for a specific compound (%CT). > > I am able to produce a plot where all the 6 treatments (in column " > Location.Treatment") are separated (see code and Fig. 1) so that each of two > "con" and "exp" treatments (in the column "treatment") are nested within one > of the three locations (High, mid, low; in the column "Location") (see plot > that the code produces). This is the plot structure I want. > > Now I would like to assign colors to the raw data points ( the "point cloud" > next to each mean +SE value). Each of these points stems from a different > "Genotype" and I would like to color code the points with regard to the > genotypes (e.g. all points from Genotype A should be green, all points from > Genotype B should be red etc.) I would like to use my own specified colors > in the code (not the standard palette). > > I tried did the following (without success) > > 1. I added "aes(color=Genotype,.." into "geom_point(..)" > > 2. I added my specific colors to "scale_color_manual" > > scale_color_manual(labels=c("Control","Damaged"),values=c("red","black","#06 > 7c43","#89b651","#dc5b09","#e4a710","#92c5de","grey","#1d71b4","#7873a3".... > .. > > > > However, if I do that my "nested" plot structure disappears (i.e. I cannot > visually differentiate between "con" and "exp" treatments nested within mid > /high/. See Fig. 2) > > Basically, all I want is to produce a plot that looks like the one from my > actual code( Fig.1) but where the individual data points are colored > according to "Genotypes" > > Below is my code and my raw data. > > Help is very much appreciated! > > Thanks a lot, > > Mike > > > > #CODE----------------------------------------------------- > > require(ggplot2) > > > > #REMOVE START FOR ANALYSIS > > dta<-subset(dta_complete,Time=="Stop") > > dta > > > > #Calculation of SE > > data_summary <- function(x) { > > m <- mean(x) > > ymin <- m-sd(x)/sqrt(length(x)) > > ymax <- m+sd(x)/sqrt(length(x)) > > return(c(y=m,ymin=ymin,ymax=ymax)) > > } > > > > pd1 = position_dodge(0.5) > > > > plot_CT<- ggplot(dta, aes(x=Location, y=CT, > colour=Treatment,shape=Treatment)) + > > stat_summary(fun.data=data_summary, position=pd1, geom="errorbar", > width=0.05) + > > stat_summary(fun.data=data_summary, position=pd1, geom="point", size=2) + > > geom_point(position=position_jitterdodge(dodge.width=0.8, jitter.height=0, > jitter.width=0.2), > > alpha=0.7) + > > labs(title="", x="", y = "CT (% dw)")+ > > scale_color_manual(labels=c("Control", > "Damaged"),values=c("red","black"),guide = guide_legend(reverse = TRUE) )+ > > scale_shape_manual(labels=c("Control", "Damaged"),name="Treatment",values > = c(16,16),guide = guide_legend(reverse = TRUE) )+ > > #Style of background > > theme_classic()+ > > #Change title > > theme(plot.title = element_text(color="black", size=17, face="bold"))+ > > #Font size axis > > theme(axis.text=element_text(size=12), > > axis.title=element_text(size=17))+ > > scale_x_discrete("Location",labels = c("Low", "Mid", "High"),expand=c(0.1, > 0.5))+ > > coord_flip() > > > > plot_CT > > > > #DATA----------------------------------------------------------------------- > ----------------- > > structure(list(Location = structure(c(2L, 3L, 1L, 2L, 3L, 1L, > > 2L, 3L, 1L, 2L, 3L, 1L, 2L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, > > 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, > > 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, > > 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, > > 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, > > 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, > > 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, > > 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, > > 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, > > 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, > > 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, > > 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L), .Label = c("High", "Low", "Mid" > > ), class = "factor"), Treatment = structure(c(2L, 2L, 2L, 1L, > > 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, > > 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, > > 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, > > 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, > > 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, > > 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, > > 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, > > 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, > > 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, > > 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, > > 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, > > 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), .Label = c("Con", "Exp" > > ), class = "factor"), Time = structure(c(2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Start", "Stop" > > ), class = "factor"), Genotype = structure(c(7L, 7L, 7L, 7L, > > 7L, 7L, 4L, 4L, 4L, 4L, 4L, 4L, 6L, 6L, 6L, 6L, 6L, 2L, 2L, 2L, > > 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 8L, 8L, 8L, 8L, 8L, 8L, 1L, > > 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 4L, 4L, 4L, 4L, 4L, > > 4L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 6L, 6L, 6L, > > 6L, 6L, 6L, 8L, 8L, 8L, 8L, 8L, 8L, 5L, 5L, 5L, 5L, 5L, 5L, 7L, > > 7L, 7L, 7L, 7L, 1L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, > > 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, > > 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, > > 7L, 7L, 7L, 7L, 6L, 6L, 6L, 6L, 6L, 6L, 8L, 8L, 8L, 8L, 8L, 8L, > > 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, > > 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, > > 8L, 8L, 8L, 8L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("A", "B", > > "C", "D", "E", "F", "G", "H"), class = "factor"), Time.Location > structure(c(5L, > > 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 4L, 5L, 6L, 4L, > > 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, > > 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, > > 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, > > 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, > > 6L, 4L, 5L, 6L, 4L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, > > 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, > > 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, > > 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, > > 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, > > 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, > > 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L), .Label = c("StartHigh", > > > "StartLow", "StartMid", "StopHigh", "StopLow", "StopMid"), class > "factor"), > > Location.Treatment = structure(c(4L, 6L, 2L, 3L, 5L, 1L, > > 4L, 6L, 2L, 3L, 5L, 1L, 4L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, > > 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, > > 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, > > 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, > > 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, > > 5L, 1L, 4L, 6L, 2L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, > > 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, > > 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, > > 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, > > 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, > > 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, > > 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, > > 2L, 3L, 5L, 1L), .Label = c("HighCon", "HighExp", "LowCon", > > "LowExp", "MidCon", "MidExp"), class = "factor"), CT = c(4.61538, > > 3.96739, 7.34797, 3.58108, 2.89655, 2.7993, 10.56122, 10.68396, > > 15.57252, 6.79245, 9.23469, 9.18, 1.1087, 4.26136, 1.14504, > > 2.20238, 3.15789, 9.54082, 11.05263, 15.84783, 10.48986, > > 12.62195, 15.12931, 5.51471, 8.20313, 11.85811, 3.38115, > > 7.5, 9.69512, 8.64407, 11.30597, 14.42797, 8.8125, 11.82482, > > 11.53061, 6.97674, 9.62766, 10.88028, 5.50403, 9.73558, 8.56419, > > 11.84524, 16.34892, 18.15789, 10.58036, 14.80932, 12.06081, > > 12.96992, 9.86014, 12.45652, 6.625, 6.93396, 9.10714, 3.66142, > > 9.19811, 10.88346, 2.88851, 6.85096, 10.27778, 8.29787, 13.00885, > > 14.38017, 7.5, 11.77734, 13.84615, 2.22772, 5.28, 5.25641, > > 1.0514, 2.73256, 4.11111, 11.39098, 11.10236, 13.00781, 7.95259, > > 10.15748, 13.16327, 8.90625, 10.04587, 13.625, 6.27049, 9.27966, > > 10.94037, 5.80189, 7.76978, 7.34266, 3.80952, 3.75, 7.29545, > > 10.45872, 16.83206, 5.95238, 7.70833, 10.92391, 11.03659, > > 14.39338, 14.88281, 8.22917, 11.63603, 14.7561, 11.9469, > > 14.65649, 16.84615, 8.37209, 13.27982, 13.69128, 7.77778, > > 12.59124, 12.32955, 7.00472, 8.41121, 7.22222, 9.43878, 10.33613, > > 14.16667, 9.60526, 8.77232, 11.91589, 7.01786, 12.29592, > > 11.83673, 8.55634, 11.17347, 12.68836, 2.7551, 6, 7.21374, > > 2.52101, 4.03846, 4.80634, 5.49569, 4.78723, 6.02273, 3.04511, > > 3.59244, 2.48239, 1.54412, 5.74219, 7.68595, 1.33065, 2.625, > > 4.42164, 9.66942, 11.875, 17.91667, 10.81731, 13.05288, 16.23853, > > 11.93662, 14.31818, 14.09396, 7.82374, 15.5042, 10.86207, > > 6.87023, 11.69492, 12.65957, 3.48684, 5.29018, 7.89474, 10.53309, > > 17.05479, 16.63866, 7.43119, 12.06522, 12.05607, 6.14865, > > 10.44, 14.69512, 9.24757, 9.04018, 12.38255, 2.22222, 3.90756, > > 5.85616, 2.23958, 3.8125, 3.01056, 11.60256, 12.22222, 11.8007, > > 7.76316, 10.08197, 12.78777, 9.20455, 12.1875, 16.59449, > > 6.82331, 10.91518, 11.5748)), row.names = 192:381, class = "data.frame") > > > > > > > > > > > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- John Kane Kingston ON Canada
Michael Eisenring
2019-Apr-06 20:09 UTC
[R] Color-coding data points in complex dotplot (ggplot2)
Hi John, Thanks for this informantion. Attached are the figures in a single PDF Mike -----Urspr?ngliche Nachricht----- Von: John Kane [mailto:jrkrideau at gmail.com] Gesendet: Samstag, 6. April 2019 07:23 An: Michael Eisenring <michael.eisenring at gmx.ch> Cc: R. Help Mailing List <r-help at r-project.org> Betreff: Re: [R] Color-coding data points in complex dotplot (ggplot2) HI Michael Your code runs but we did not get any attached figure. You might want to try sending it as a .pdf file. They usually make it through the spam filters On Sat, 6 Apr 2019 at 08:09, Michael Eisenring <michael.eisenring at gmx.ch> wrote:> > Dear R-List members, > > I produced a dot plot (see attachment 1) on 6 different treatments > (trees under 6 different conditions; in column " Location.Treatment " > in my raw data). For each of these " Location.treatment" categories, I > calculated a mean value and the SE for a specific compound (%CT). > > I am able to produce a plot where all the 6 treatments (in column " > Location.Treatment") are separated (see code and Fig. 1) so that each > of two "con" and "exp" treatments (in the column "treatment") are > nested within one of the three locations (High, mid, low; in the > column "Location") (see plot that the code produces). This is the plot structure I want. > > Now I would like to assign colors to the raw data points ( the "point cloud" > next to each mean +SE value). Each of these points stems from a > different "Genotype" and I would like to color code the points with > regard to the genotypes (e.g. all points from Genotype A should be > green, all points from Genotype B should be red etc.) I would like to > use my own specified colors in the code (not the standard palette). > > I tried did the following (without success) > > 1. I added "aes(color=Genotype,.." into "geom_point(..)" > > 2. I added my specific colors to "scale_color_manual" > > scale_color_manual(labels=c("Control","Damaged"),values=c("red","black > ","#06 > 7c43","#89b651","#dc5b09","#e4a710","#92c5de","grey","#1d71b4","#7873a3".... > .. > > > > However, if I do that my "nested" plot structure disappears (i.e. I > cannot visually differentiate between "con" and "exp" treatments > nested within mid /high/. See Fig. 2) > > Basically, all I want is to produce a plot that looks like the one > from my actual code( Fig.1) but where the individual data points are > colored according to "Genotypes" > > Below is my code and my raw data. > > Help is very much appreciated! > > Thanks a lot, > > Mike > > > > #CODE----------------------------------------------------- > > require(ggplot2) > > > > #REMOVE START FOR ANALYSIS > > dta<-subset(dta_complete,Time=="Stop") > > dta > > > > #Calculation of SE > > data_summary <- function(x) { > > m <- mean(x) > > ymin <- m-sd(x)/sqrt(length(x)) > > ymax <- m+sd(x)/sqrt(length(x)) > > return(c(y=m,ymin=ymin,ymax=ymax)) > > } > > > > pd1 = position_dodge(0.5) > > > > plot_CT<- ggplot(dta, aes(x=Location, y=CT, > colour=Treatment,shape=Treatment)) + > > stat_summary(fun.data=data_summary, position=pd1, geom="errorbar", > width=0.05) + > > stat_summary(fun.data=data_summary, position=pd1, geom="point", > size=2) + > > geom_point(position=position_jitterdodge(dodge.width=0.8, > jitter.height=0, jitter.width=0.2), > > alpha=0.7) + > > labs(title="", x="", y = "CT (% dw)")+ > > scale_color_manual(labels=c("Control", > "Damaged"),values=c("red","black"),guide = guide_legend(reverse = > TRUE) )+ > > scale_shape_manual(labels=c("Control", > "Damaged"),name="Treatment",values > = c(16,16),guide = guide_legend(reverse = TRUE) )+ > > #Style of background > > theme_classic()+ > > #Change title > > theme(plot.title = element_text(color="black", size=17, > face="bold"))+ > > #Font size axis > > theme(axis.text=element_text(size=12), > > axis.title=element_text(size=17))+ > > scale_x_discrete("Location",labels = c("Low", "Mid", > "High"),expand=c(0.1, 0.5))+ > > coord_flip() > > > > plot_CT > > > > #DATA----------------------------------------------------------------- > ------ > ----------------- > > structure(list(Location = structure(c(2L, 3L, 1L, 2L, 3L, 1L, > > 2L, 3L, 1L, 2L, 3L, 1L, 2L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, > > 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, > > 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, > > 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, > > 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, > > 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, > > 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, > > 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, > > 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, > > 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, > > 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, > > 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L), .Label = c("High", "Low", "Mid" > > ), class = "factor"), Treatment = structure(c(2L, 2L, 2L, 1L, > > 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, > > 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, > > 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, > > 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, > > 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, > > 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, > > 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, > > 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, > > 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, > > 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, > > 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, > > 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), .Label = c("Con", "Exp" > > ), class = "factor"), Time = structure(c(2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Start", "Stop" > > ), class = "factor"), Genotype = structure(c(7L, 7L, 7L, 7L, > > 7L, 7L, 4L, 4L, 4L, 4L, 4L, 4L, 6L, 6L, 6L, 6L, 6L, 2L, 2L, 2L, > > 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 8L, 8L, 8L, 8L, 8L, 8L, 1L, > > 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 4L, 4L, 4L, 4L, 4L, > > 4L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 6L, 6L, 6L, > > 6L, 6L, 6L, 8L, 8L, 8L, 8L, 8L, 8L, 5L, 5L, 5L, 5L, 5L, 5L, 7L, > > 7L, 7L, 7L, 7L, 1L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, > > 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, > > 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, > > 7L, 7L, 7L, 7L, 6L, 6L, 6L, 6L, 6L, 6L, 8L, 8L, 8L, 8L, 8L, 8L, > > 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, > > 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, > > 8L, 8L, 8L, 8L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("A", "B", > > "C", "D", "E", "F", "G", "H"), class = "factor"), Time.Location = > structure(c(5L, > > 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 4L, 5L, 6L, 4L, > > 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, > > 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, > > 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, > > 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, > > 6L, 4L, 5L, 6L, 4L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, > > 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, > > 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, > > 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, > > 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, > > 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, > > 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 4L), .Label = > c("StartHigh", > > > "StartLow", "StartMid", "StopHigh", "StopLow", "StopMid"), class = > "factor"), > > Location.Treatment = structure(c(4L, 6L, 2L, 3L, 5L, 1L, > > 4L, 6L, 2L, 3L, 5L, 1L, 4L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, > > 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, > > 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, > > 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, > > 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, > > 5L, 1L, 4L, 6L, 2L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, > > 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, > > 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, > > 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, > > 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, > > 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, > > 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, 2L, 3L, 5L, 1L, 4L, 6L, > > 2L, 3L, 5L, 1L), .Label = c("HighCon", "HighExp", "LowCon", > > "LowExp", "MidCon", "MidExp"), class = "factor"), CT = c(4.61538, > > 3.96739, 7.34797, 3.58108, 2.89655, 2.7993, 10.56122, 10.68396, > > 15.57252, 6.79245, 9.23469, 9.18, 1.1087, 4.26136, 1.14504, > > 2.20238, 3.15789, 9.54082, 11.05263, 15.84783, 10.48986, > > 12.62195, 15.12931, 5.51471, 8.20313, 11.85811, 3.38115, > > 7.5, 9.69512, 8.64407, 11.30597, 14.42797, 8.8125, 11.82482, > > 11.53061, 6.97674, 9.62766, 10.88028, 5.50403, 9.73558, 8.56419, > > 11.84524, 16.34892, 18.15789, 10.58036, 14.80932, 12.06081, > > 12.96992, 9.86014, 12.45652, 6.625, 6.93396, 9.10714, 3.66142, > > 9.19811, 10.88346, 2.88851, 6.85096, 10.27778, 8.29787, 13.00885, > > 14.38017, 7.5, 11.77734, 13.84615, 2.22772, 5.28, 5.25641, > > 1.0514, 2.73256, 4.11111, 11.39098, 11.10236, 13.00781, 7.95259, > > 10.15748, 13.16327, 8.90625, 10.04587, 13.625, 6.27049, 9.27966, > > 10.94037, 5.80189, 7.76978, 7.34266, 3.80952, 3.75, 7.29545, > > 10.45872, 16.83206, 5.95238, 7.70833, 10.92391, 11.03659, > > 14.39338, 14.88281, 8.22917, 11.63603, 14.7561, 11.9469, > > 14.65649, 16.84615, 8.37209, 13.27982, 13.69128, 7.77778, > > 12.59124, 12.32955, 7.00472, 8.41121, 7.22222, 9.43878, 10.33613, > > 14.16667, 9.60526, 8.77232, 11.91589, 7.01786, 12.29592, > > 11.83673, 8.55634, 11.17347, 12.68836, 2.7551, 6, 7.21374, > > 2.52101, 4.03846, 4.80634, 5.49569, 4.78723, 6.02273, 3.04511, > > 3.59244, 2.48239, 1.54412, 5.74219, 7.68595, 1.33065, 2.625, > > 4.42164, 9.66942, 11.875, 17.91667, 10.81731, 13.05288, 16.23853, > > 11.93662, 14.31818, 14.09396, 7.82374, 15.5042, 10.86207, > > 6.87023, 11.69492, 12.65957, 3.48684, 5.29018, 7.89474, 10.53309, > > 17.05479, 16.63866, 7.43119, 12.06522, 12.05607, 6.14865, > > 10.44, 14.69512, 9.24757, 9.04018, 12.38255, 2.22222, 3.90756, > > 5.85616, 2.23958, 3.8125, 3.01056, 11.60256, 12.22222, 11.8007, > > 7.76316, 10.08197, 12.78777, 9.20455, 12.1875, 16.59449, > > 6.82331, 10.91518, 11.5748)), row.names = 192:381, class = > "data.frame") > > > > > > > > > > > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- John Kane Kingston ON Canada -------------- next part -------------- A non-text attachment was scrubbed... Name: FIG 1 and FIG 2.pdf Type: application/pdf Size: 252813 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20190406/95b5c29b/attachment.pdf>