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 <agents at 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 <agents at meddatainc.com >> <mailto:agents at 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 <agents at meddatainc.com >> <mailto:agents at 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 at r-project.org <mailto: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. >>> 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 at r-project.org <mailto: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 >> 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 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.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]]
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 <agents at 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 <agents at 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 <agents at meddatainc.com >> <mailto:agents at 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 <agents at meddatainc.com >> <mailto:agents at 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 at r-project.org <mailto: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. >>>? ? 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 at r-project.org <mailto: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 >> 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 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.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 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. [[alternative HTML version deleted]]
On 07/24/2020 02:50 PM, H 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 <agents at 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 <agents at meddatainc.com >>> <mailto:agents at 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 <agents at meddatainc.com >>> <mailto:agents at 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 at r-project.org <mailto: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. >>>> 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 at r-project.org <mailto: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 >>> 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 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. > > 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?| > > || >The following code aligns the two plot areas of the two charts perfectly but they are the same height whereas I want to make the bottom one 1/2 as tall as the top one: g2<-ggplotGrob(s) g3<-ggplotGrob(v) g<-rbind(g2, g3, size = "first") g$widths<-unit.pmax(g2$widths, g3$widths) grid.newpage() grid.draw(g) [[alternative HTML version deleted]]
?grid.frame, etc. should be straightforward for this I would think. But of course you have to resort to the underlying grid framework rather than the ggplot2 interface. Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Fri, Jul 24, 2020 at 12:11 PM H <agents at meddatainc.com> wrote:> On 07/24/2020 02:50 PM, H 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 <agents at 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 <agents at meddatainc.com > >>> <mailto:agents at 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 <agents at meddatainc.com > >>> <mailto:agents at 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 at r-project.org <mailto: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. > >>>> 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 at r-project.org <mailto: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 > >>> 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 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. > > > > 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?| > > > > || > > > The following code aligns the two plot areas of the two charts perfectly > but they are the same height whereas I want to make the bottom one 1/2 as > tall as the top one: > > g2<-ggplotGrob(s) > g3<-ggplotGrob(v) > g<-rbind(g2, g3, size = "first") > g$widths<-unit.pmax(g2$widths, g3$widths) > grid.newpage() > grid.draw(g) > > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. >[[alternative HTML version deleted]]
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 <agents at 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 <agents at 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 <agents at meddatainc.com >>> <mailto:agents at 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 <agents at meddatainc.com >>> <mailto:agents at 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 at r-project.org <mailto: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. >>>> ? ? 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 at r-project.org <mailto: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 >>> 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 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. > 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 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. > > [[alternative HTML version deleted]] > > ______________________________________________ > 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.-- Este e-mail foi verificado em termos de v?rus pelo software antiv?rus Avast. https://www.avast.com/antivirus