How to control chart area height without margin in ggplot?










0














Is there a way to make the chart area sizes equal in two plots?
When using these two charts in a presentation, it would be nice if
the rectangles just would split and "stay in place".



I was not able to do this by using plot.margin when creating a presentation in slidy.



unsynchronized mosaic plots










share|improve this question



















  • 1




    could you please share your code? It would be a lot easier to recreate your problem when you add a reproducible example In general the respond rate is much higher when people don't have to create there own examples first
    – mischva11
    Nov 12 at 12:01















0














Is there a way to make the chart area sizes equal in two plots?
When using these two charts in a presentation, it would be nice if
the rectangles just would split and "stay in place".



I was not able to do this by using plot.margin when creating a presentation in slidy.



unsynchronized mosaic plots










share|improve this question



















  • 1




    could you please share your code? It would be a lot easier to recreate your problem when you add a reproducible example In general the respond rate is much higher when people don't have to create there own examples first
    – mischva11
    Nov 12 at 12:01













0












0








0







Is there a way to make the chart area sizes equal in two plots?
When using these two charts in a presentation, it would be nice if
the rectangles just would split and "stay in place".



I was not able to do this by using plot.margin when creating a presentation in slidy.



unsynchronized mosaic plots










share|improve this question















Is there a way to make the chart area sizes equal in two plots?
When using these two charts in a presentation, it would be nice if
the rectangles just would split and "stay in place".



I was not able to do this by using plot.margin when creating a presentation in slidy.



unsynchronized mosaic plots







r ggplot2






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 12 at 11:19









markus

10.4k929




10.4k929










asked Nov 12 at 10:33









Erich Neuwirth

34325




34325







  • 1




    could you please share your code? It would be a lot easier to recreate your problem when you add a reproducible example In general the respond rate is much higher when people don't have to create there own examples first
    – mischva11
    Nov 12 at 12:01












  • 1




    could you please share your code? It would be a lot easier to recreate your problem when you add a reproducible example In general the respond rate is much higher when people don't have to create there own examples first
    – mischva11
    Nov 12 at 12:01







1




1




could you please share your code? It would be a lot easier to recreate your problem when you add a reproducible example In general the respond rate is much higher when people don't have to create there own examples first
– mischva11
Nov 12 at 12:01




could you please share your code? It would be a lot easier to recreate your problem when you add a reproducible example In general the respond rate is much higher when people don't have to create there own examples first
– mischva11
Nov 12 at 12:01












1 Answer
1






active

oldest

votes


















0














Here is some code demonstrating the problem.

I would like the bottom borders of the grey chart area to be aligned.



## ------------------------------------------------------------------------
library(tidyverse)
library(ggmosaic)
library(gridExtra)

## ------------------------------------------------------------------------
pruef <- tibble::tribble(
~Geschlecht, ~Studium, ~Test, ~n,
"m", "MINT", "pos", 165L,
"w", "MINT", "pos", 60L,
"m", "HUM", "pos", 30L,
"w", "HUM", "pos", 105L,
"m", "MINT", "neg", 135L,
"w", "MINT", "neg", 40L,
"m", "HUM", "neg", 70L,
"w", "HUM", "neg", 195L
)

## ------------------------------------------------------------------------
pruef %>%
ggplot() +
geom_mosaic(aes(
x = product(Test),
weight = n,
fill = Test
), divider = "vspine") +
guides(fill = guide_legend(reverse = TRUE)) +
labs(x = "", y = "") +
theme(axis.text.x = element_blank(),
axis.ticks.x = element_blank()) -> p1


## ------------------------------------------------------------------------
pruef %>%
ggplot() +
geom_mosaic(aes(x=product(Studium,Geschlecht),weight=n,fill=Test),divider=ddecker()) +
guides(fill=guide_legend(reverse=TRUE)) +
labs(x="",y="") +
theme(axis.ticks.x = element_blank(),
axis.text.x=element_text(angle=90)) ->p2

## ------------------------------------------------------------------------
grid.arrange(p1,p2,nrow=1)


enter image description here






share|improve this answer




















    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53260306%2fhow-to-control-chart-area-height-without-margin-in-ggplot%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Here is some code demonstrating the problem.

    I would like the bottom borders of the grey chart area to be aligned.



    ## ------------------------------------------------------------------------
    library(tidyverse)
    library(ggmosaic)
    library(gridExtra)

    ## ------------------------------------------------------------------------
    pruef <- tibble::tribble(
    ~Geschlecht, ~Studium, ~Test, ~n,
    "m", "MINT", "pos", 165L,
    "w", "MINT", "pos", 60L,
    "m", "HUM", "pos", 30L,
    "w", "HUM", "pos", 105L,
    "m", "MINT", "neg", 135L,
    "w", "MINT", "neg", 40L,
    "m", "HUM", "neg", 70L,
    "w", "HUM", "neg", 195L
    )

    ## ------------------------------------------------------------------------
    pruef %>%
    ggplot() +
    geom_mosaic(aes(
    x = product(Test),
    weight = n,
    fill = Test
    ), divider = "vspine") +
    guides(fill = guide_legend(reverse = TRUE)) +
    labs(x = "", y = "") +
    theme(axis.text.x = element_blank(),
    axis.ticks.x = element_blank()) -> p1


    ## ------------------------------------------------------------------------
    pruef %>%
    ggplot() +
    geom_mosaic(aes(x=product(Studium,Geschlecht),weight=n,fill=Test),divider=ddecker()) +
    guides(fill=guide_legend(reverse=TRUE)) +
    labs(x="",y="") +
    theme(axis.ticks.x = element_blank(),
    axis.text.x=element_text(angle=90)) ->p2

    ## ------------------------------------------------------------------------
    grid.arrange(p1,p2,nrow=1)


    enter image description here






    share|improve this answer

























      0














      Here is some code demonstrating the problem.

      I would like the bottom borders of the grey chart area to be aligned.



      ## ------------------------------------------------------------------------
      library(tidyverse)
      library(ggmosaic)
      library(gridExtra)

      ## ------------------------------------------------------------------------
      pruef <- tibble::tribble(
      ~Geschlecht, ~Studium, ~Test, ~n,
      "m", "MINT", "pos", 165L,
      "w", "MINT", "pos", 60L,
      "m", "HUM", "pos", 30L,
      "w", "HUM", "pos", 105L,
      "m", "MINT", "neg", 135L,
      "w", "MINT", "neg", 40L,
      "m", "HUM", "neg", 70L,
      "w", "HUM", "neg", 195L
      )

      ## ------------------------------------------------------------------------
      pruef %>%
      ggplot() +
      geom_mosaic(aes(
      x = product(Test),
      weight = n,
      fill = Test
      ), divider = "vspine") +
      guides(fill = guide_legend(reverse = TRUE)) +
      labs(x = "", y = "") +
      theme(axis.text.x = element_blank(),
      axis.ticks.x = element_blank()) -> p1


      ## ------------------------------------------------------------------------
      pruef %>%
      ggplot() +
      geom_mosaic(aes(x=product(Studium,Geschlecht),weight=n,fill=Test),divider=ddecker()) +
      guides(fill=guide_legend(reverse=TRUE)) +
      labs(x="",y="") +
      theme(axis.ticks.x = element_blank(),
      axis.text.x=element_text(angle=90)) ->p2

      ## ------------------------------------------------------------------------
      grid.arrange(p1,p2,nrow=1)


      enter image description here






      share|improve this answer























        0












        0








        0






        Here is some code demonstrating the problem.

        I would like the bottom borders of the grey chart area to be aligned.



        ## ------------------------------------------------------------------------
        library(tidyverse)
        library(ggmosaic)
        library(gridExtra)

        ## ------------------------------------------------------------------------
        pruef <- tibble::tribble(
        ~Geschlecht, ~Studium, ~Test, ~n,
        "m", "MINT", "pos", 165L,
        "w", "MINT", "pos", 60L,
        "m", "HUM", "pos", 30L,
        "w", "HUM", "pos", 105L,
        "m", "MINT", "neg", 135L,
        "w", "MINT", "neg", 40L,
        "m", "HUM", "neg", 70L,
        "w", "HUM", "neg", 195L
        )

        ## ------------------------------------------------------------------------
        pruef %>%
        ggplot() +
        geom_mosaic(aes(
        x = product(Test),
        weight = n,
        fill = Test
        ), divider = "vspine") +
        guides(fill = guide_legend(reverse = TRUE)) +
        labs(x = "", y = "") +
        theme(axis.text.x = element_blank(),
        axis.ticks.x = element_blank()) -> p1


        ## ------------------------------------------------------------------------
        pruef %>%
        ggplot() +
        geom_mosaic(aes(x=product(Studium,Geschlecht),weight=n,fill=Test),divider=ddecker()) +
        guides(fill=guide_legend(reverse=TRUE)) +
        labs(x="",y="") +
        theme(axis.ticks.x = element_blank(),
        axis.text.x=element_text(angle=90)) ->p2

        ## ------------------------------------------------------------------------
        grid.arrange(p1,p2,nrow=1)


        enter image description here






        share|improve this answer












        Here is some code demonstrating the problem.

        I would like the bottom borders of the grey chart area to be aligned.



        ## ------------------------------------------------------------------------
        library(tidyverse)
        library(ggmosaic)
        library(gridExtra)

        ## ------------------------------------------------------------------------
        pruef <- tibble::tribble(
        ~Geschlecht, ~Studium, ~Test, ~n,
        "m", "MINT", "pos", 165L,
        "w", "MINT", "pos", 60L,
        "m", "HUM", "pos", 30L,
        "w", "HUM", "pos", 105L,
        "m", "MINT", "neg", 135L,
        "w", "MINT", "neg", 40L,
        "m", "HUM", "neg", 70L,
        "w", "HUM", "neg", 195L
        )

        ## ------------------------------------------------------------------------
        pruef %>%
        ggplot() +
        geom_mosaic(aes(
        x = product(Test),
        weight = n,
        fill = Test
        ), divider = "vspine") +
        guides(fill = guide_legend(reverse = TRUE)) +
        labs(x = "", y = "") +
        theme(axis.text.x = element_blank(),
        axis.ticks.x = element_blank()) -> p1


        ## ------------------------------------------------------------------------
        pruef %>%
        ggplot() +
        geom_mosaic(aes(x=product(Studium,Geschlecht),weight=n,fill=Test),divider=ddecker()) +
        guides(fill=guide_legend(reverse=TRUE)) +
        labs(x="",y="") +
        theme(axis.ticks.x = element_blank(),
        axis.text.x=element_text(angle=90)) ->p2

        ## ------------------------------------------------------------------------
        grid.arrange(p1,p2,nrow=1)


        enter image description here







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 12 at 12:31









        Erich Neuwirth

        34325




        34325



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53260306%2fhow-to-control-chart-area-height-without-margin-in-ggplot%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Top Tejano songwriter Luis Silva dead of heart attack at 64

            ReactJS Fetched API data displays live - need Data displayed static

            政党