On 07/24/2020 05:56 PM, Rui Barradas wrote: > Hello, > > I've just tried it. > > library(ggplot2) > #library(grid) > library(cowplot) > > s <- ggplot(data = subset(iris, Species == 'virginica'), aes(Sepal.Length, > Sepal.Width)) + geom_point() > v <- ggplot(data = subset(iris, Species == 'setosa'), aes(Sepal.Length, > Sepal.Width)) + geom_point() > > #g2 <- ggplotGrob(s) > #g3 <- ggplotGrob(v) > #g <- rbind(g2, g3, size = "first") > > cowplot::plot_grid(s, v, align = "h", nrow = 2, rel_heights = 2:1) > > > Hope this helps, > > Rui Barradas > > Às 19:57 de 24/07/2020, Felipe Carrillo via R-help escreveu: >> What about cowplot? >> https://cran.r-project.org/web/packages/cowplot/vignettes/introduction.html >> >> On Friday, July 24, 2020, 11:51:17 AM PDT, H <age...@meddatainc.com> >> wrote: >> On 07/24/2020 02:03 PM, Jeff Newmiller wrote: >>> The set of people interested in helping when you supply a minimal >>> reproducible example is rather larger than the set of people willing to >>> read the documentation for you (hint) and guess what aspect of alignment >>> you are having trouble with. >>> >>> On July 24, 2020 10:46:57 AM PDT, H <age...@meddatainc.com> wrote: >>>> On 07/24/2020 01:14 PM, John Kane wrote: >>>>> <i>Well, I am not looking for help debugging my code but for >>>> information to better understand arranging plots vertically. The code >>>> above aligns them horizontally as expected.</i> >>>>> Sigh, we know the code works but we do not know what the plots are >>>> and we cannot play around with them to see if we can help you if we >>>> have nothing to work with. >>>>> On Fri, 24 Jul 2020 at 12:12, H <age...@meddatainc.com >>>> <mailto:age...@meddatainc.com>> wrote: >>>>> On 07/24/2020 05:29 AM, Erich Subscriptions wrote: >>>>> > Hav a look at the packages cowplot and patchwork >>>>> > >>>>> >> On 24.07.2020, at 02:36, H <age...@meddatainc.com >>>> <mailto:age...@meddatainc.com>> wrote: >>>>> >> >>>>> >> I am trying to arrange two plots vertically, ie plot 2 below >>>> plot 1, where I want the plots to align columnwise but have a height >>>> ratio of eg 3:1. >>>>> >> >>>>> >> My attempts so far after consulting various webpages is that >>>> the following code aligns them columnwise correctly but I have, so far, >>>> failed in setting the relative heights... >>>>> >> >>>>> >> g2<-ggplotGrob(s) >>>>> >> g3<-ggplotGrob(v) >>>>> >> g<-rbind(g2, g3, size = "first") >>>>> >> g$widths<-unit.pmax(g2$widths, g3$widths) >>>>> >> >>>>> >> what would the appropriate statement for the relative heights >>>> to add here be? >>>>> >> >>>>> >> grid.newpage() >>>>> >> grid.draw(g) >>>>> >> >>>>> >> Thank you! >>>>> >> >>>>> >> ______________________________________________ >>>>> >> R-help@r-project.org <mailto:R-help@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. >>>>> So this is not possible without using one of those two packages? >>>> I got the impression I should be able to use grid.arrange to do so but >>>> was not able to get it to work without disturbing the width alignment >>>> above... >>>>> ______________________________________________ >>>>> R-help@r-project.org <mailto:R-help@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 >>>> No need to play around with anything. I am simply looking for >>>> assistance on how to use eg arrangeGrob to not only align two plots >>>> columnwise but also adjust their heights relative to each other rather >>>> than 1:1. >>>> >>>> Can arrangeGrob() be used for that? >>>> >>>> >>>> [[alternative HTML version deleted]] >>>> >>>> ______________________________________________ >>>> R-help@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. >> Look at https://cran.r-project.org/web/packages/egg/vignettes/Ecosystem.html >> where there are two mpg charts, one above the other. What would I need to >> add to: >> >> |library(gtable) g2 <-ggplotGrob(p2) g3 <-ggplotGrob(p3) g <-rbind(g2, g3, >> size = "first") g$widths <-unit.pmax(g2$widths, g3$widths) grid.newpage() >> grid.draw(g) | >> >> |to make the second chart 1/2 the size of the top one?| >> >> || >> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@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. >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@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. > > Thank you for your example. However, this does not align the plot areas horizontally. It happens to do so in this example because the y-axis labels are the same length etc but when this is not the case, it fails.
______________________________________________ R-help@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.