On Thu, Sep 5, 2013 at 11:08 AM, Anna Zakrisson Braeunlich <anna.zakris...@su.se> wrote: > Hi and thank you for the help and for the fast reply! > > A. One thing still is a problem. I have prior my first mail tried to not fill > the boxes. The result is a different plot. > If chosing to do: > > ggplot(mydata, aes(x = week, y = var1)) > > instead of > > ggplot(mydata, aes(x = week, y = var1, fill=organism)) > > I get the median of all the levels of organisms plotted per week and not the > median per organism level per week. > I would like to have white boxes, but to define each level of organism with a > different non-filled symbol that mark the median of each box.
Ooops, sorry I missed that before. You can use geom_boxplot(mapping=aes(group=interaction(week, organism))) to achieve this, though it now becomes hard to tell which boxplots correspond to which organisms. > > B. Can I define the shapes of the geom_point other than the default filled > points that I will automatically generate when I define: > geom_point(stat="summary", fun.y = "median", mapping=aes(shape=organism)) + # > I need non-filled symbols add scale_shape(solid=FALSE) or scale_shape_manual(values = 1:3) Best, Ista > > The two versions mentioned in A are: > > ###################DATA######################################## > mydata<- data.frame(week = factor(rep(c("19", "21", "23", "25", "27", "29", > "31", "33", > "35", "37", "39"), each = 45*3)), > #week > station = factor(rep(c("BY31", "B1", "H2", "H3", "H4", > "H5", "H6", "H7", "H8"), each = > 15)), #station > organism = factor(rep(c("zpl", "ses", "cy"), each = 5)), > #organism > var1 = rnorm(1485, mean = rep(c(0, 3, 15), each = 40), > sd = rep(c(1, 3, 6), each = 20))) > > ###################VERSION 1#################################### > p <- ggplot(mydata, aes(x = week, y = var1)) + #here all organisms are bunted > together > geom_boxplot() + > facet_wrap(~ station, ncol = 3) + > theme_bw() + > theme(strip.background = element_blank())+ > ylab("var1")+ > xlab("week") + > geom_line(stat="summary", fun.y = "median", > mapping=aes(linetype=organism, group=organism))+ #must add jitter > if using this > geom_point(stat="summary", fun.y = "median", mapping=aes(shape=organism)) + > #must be unfilled > theme(strip.text.x = element_text(size = 12, colour="black", > family="serif", angle=00)) + > theme(axis.text.x = element_text(size = 12, colour="black", family="serif", > angle=90)) + > theme(axis.text.y = element_text(size = 12, colour="black", family="serif", > angle=00)) + > geom_hline(yintercept=0, linetype=3) #draws dotted line at 0 > > p > > ###################VERSION 2#################################### > > p <- ggplot(mydata, aes(x = week, y = var1, fill=organism)) + #here the > levels in organism are considered > geom_boxplot() + > facet_wrap(~ station, ncol = 3) + > theme_bw() + > theme(strip.background = element_blank())+ > ylab("var1")+ > xlab("week") + > geom_line(stat="summary", fun.y = "median", > mapping=aes(linetype=organism, group=organism))+ #must add jitter > if using this > geom_point(stat="summary", fun.y = "median", mapping=aes(shape=organism)) + > #must be unfilled > theme(strip.text.x = element_text(size = 12, colour="black", > family="serif", angle=00)) + > theme(axis.text.x = element_text(size = 12, colour="black", family="serif", > angle=90)) + > theme(axis.text.y = element_text(size = 12, colour="black", family="serif", > angle=00)) + > geom_hline(yintercept=0, linetype=3) #draws dotted line at 0 > > p > ############################################################################# > > > > > Anna Zakrisson Braeunlich > PhD student > > Department of Ecology, Environment and Plant Sciences > Stockholm University > Svante Arrheniusv. 21A > SE-106 91 Stockholm > Sweden/Sverige > > Lives in Berlin. > For paper mail: > Katzbachstr. 21 > D-10965, Berlin - Kreuzberg > Germany/Deutschland > > E-mail: anna.zakris...@su.se > Tel work: +49-(0)3091541281 > Mobile: +49-(0)15777374888 > LinkedIn: http://se.linkedin.com/pub/anna-zakrisson-braeunlich/33/5a2/51b > >><((((º>`•. . • `•. .• `•. . ><((((º>`•. . • `•. .• `•. .><((((º>`•. . • `•. >>.• `•. .><((((º> > > ________________________________________ > From: Ista Zahn [istaz...@gmail.com] > Sent: 05 September 2013 16:02 > To: Anna Zakrisson Braeunlich > Cc: r-help@r-project.org > Subject: Re: [R] ggplot2: connecting medians of boxes using facet_wrap. > Changing median marker. > > Hi Anna, > > On Thu, Sep 5, 2013 at 6:13 AM, Anna Zakrisson Braeunlich > <anna.zakris...@su.se> wrote: >> # Dear all, >> >> # Thank you for taking your time. >> >> # What I would like to do: >> >> # (Run the code below to see what I am referring to) >> >> # I want lines connecting the medians of of the boxes. I do not want a >> function, just a simple, >> # straight connection between points. I also would like the lines to be >> different: lty=c(1:3) > > geom_line(stat="summary", fun.y = "median", > mapping=aes(linetype=organism, group=organism)) > >> >> # Furthermore, I wish to change the line/dot marking the medians to be >> pch=c(1:3). It seems not to be so simple when using facet_wrap? I have >> obviously missed something obvious. > > geom_point(stat="summary", fun.y = "median", mapping=aes(shape=organism)) + > >> >> # Finally, I would like the boxes to be filled white and to have the legend >> reflecting this. > > Then don't tell ggplot to color them. Change > > ggplot(mydata, aes(x = week, y = var1, fill = organism)) > > to > > ggplot(mydata, aes(x = week, y = var1)) >> >> # I know that this was many questions, I apologize if some may seem basic. >> It is just that I am >> # "jumping packages" the whole time and sometimes par() adjustments work and >> sometimes not. >> # I have searched alot for answers, but as a ggplot2 beginner, I have failed >> to find a solution >> # to my problems above. > > > Hope this helps! > > Best, > Ista > >> >> # I would like to thank the programmers for a great package. The layer >> principle is much easier to work with. >> >> #### >> >> # Some dummy data: >> mydata<- data.frame(week = factor(rep(c("19", "21", "23", "25", "27", "29", >> "31", "33", >> "35", "37", "39"), each = 45*3)), >> #week >> station = factor(rep(c("BY31", "B1", "H2", "H3", "H4", >> "H5", "H6", "H7", "H8"), each = >> 15)), #station >> organism = factor(rep(c("zpl", "ses", "cy"), each = 5)), >> #organism >> var1 = rnorm(1485, mean = rep(c(0, 3, 15), each = 40), >> sd = rep(c(1, 3, 6), each = 20))) >> >> p <- ggplot(mydata, aes(x = week, y = var1, fill = organism)) + >> geom_boxplot() + >> facet_wrap(~ station, ncol = 3) + >> theme_bw() + >> theme(strip.background = element_blank())+ >> ylab("var1")+ >> xlab("week") + >> geom_smooth(aes(group = 1), method="lm", se = F) + #Here is my problem. >> theme(strip.text.x = element_text(size = 12, colour="black", >> family="serif", angle=00)) + >> theme(axis.text.x = element_text(size = 12, colour="black", >> family="serif", angle=90)) + >> theme(axis.text.y = element_text(size = 12, colour="black", >> family="serif", angle=00)) + >> geom_hline(yintercept=0, linetype=3) #draws dotted line at 0 >> >> p >> >> # method="lm" is definately wrong, >> # I just added it to be a ble to draw some lines at all. >> # I also suspect geom_smooth to be wrong. >> ### TO CLARIFY: I want the medians connected within each level. cy medians >> connected and >> # and ses medians connected and zpl connected. Not cy-ses-zpl, but that is >> perhaps obvious. >> ### Thank you for your time! >> # with kind regards >> # A. Zakrisson >> >> >> >> Anna Zakrisson Braeunlich >> PhD student >> >> Department of Ecology, Environment and Plant Sciences >> Stockholm University >> Svante Arrheniusv. 21A >> SE-106 91 Stockholm >> Sweden/Sverige >> >> Lives in Berlin. >> For paper mail: >> Katzbachstr. 21 >> D-10965, Berlin - Kreuzberg >> Germany/Deutschland >> >> E-mail: anna.zakris...@su.se >> Tel work: +49-(0)3091541281 >> Mobile: +49-(0)15777374888 >> LinkedIn: http://se.linkedin.com/pub/anna-zakrisson-braeunlich/33/5a2/51b >> >>><((((º>`•. . • `•. .• `•. . ><((((º>`•. . • `•. .• `•. .><((((º>`•. . • `•. >>>.• `•. .><((((º> >> >> [[alternative HTML version deleted]] >> >> >> ______________________________________________ >> R-help@r-project.org mailing list >> 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. >> ______________________________________________ R-help@r-project.org mailing list 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.