2017-05-17 7 views
1

Ich versuche, eine schrittweise Enthüllung oder den Bau der Bars in meinem Grundstück innerhalb einer Rstudio ilosides Präsentation durchzuführen. Wie kann ich die folgende Grafik anzeigen, während der 3. und 4. Balken in einer Folie ausgeblendet werden, bevor die gesamte Folie in der nächsten Folie angezeigt wird? Es ist wichtig, dass ich den gesamten Abstand von Text und Strichen zwischen den beiden Folien festlege.Allmählich Balken von Barplot in Ioslides offenbaren

Ich finde diese Technik in Präsentationen nützlich, kann dies aber nur in Powerpoint/Keynote tun, indem ich eine weiße Box über die Balken, die ich verstecken möchte, platziere.

library(tidyverse) 

mtcars %>% 
    mutate(
    am = factor(am, labels = c("auto", "manual")), 
    vs = factor(vs, labels = c("V", "S")) 
) %>% 
    ggplot(aes(x = am, y = mpg, fill = vs)) + 
    geom_col(position = position_dodge()) + 
    theme(
    panel.grid.minor = element_blank(), 
    panel.grid.major = element_blank(), 
    panel.background = element_blank(), 
    panel.border = element_blank(), 
    axis.line = element_line(colour = "black") 
) 

plot displaying 2 bars plot displaying all bars

Antwort

1

für Ihre erste Folie Versuchen Sie dies. Es entfernt die Daten für manuelle Übertragungen, lässt aber den Platz für die Spalte (scale_x_discrete). Dann machen Sie Ihre Vorlage für die zweite Folie, aber lassen Sie die skala_y_continuous (die ich zu beiden hinzufügen, so dass die benötigte Höhe über beide Folien erhalten bleibt).

mtcars %>% 
    mutate(
    am = factor(am, labels = c("auto", "manual")), 
    vs = factor(vs, labels = c("V", "S")) 
) %>% filter(am == "auto") %>% 
    ggplot(aes(x = am, y = mpg, fill = vs)) + 
    geom_col(position = position_dodge()) + 
    scale_x_discrete(drop=FALSE) + 
    scale_y_continuous(limits = c(0,35)) + 
    theme(
    panel.grid.minor = element_blank(), 
    panel.grid.major = element_blank(), 
    panel.background = element_blank(), 
    panel.border = element_blank(), 
    axis.line = element_line(colour = "black") 
) 
+0

Vielen Dank für diese elegante Lösung. Haben Sie Vorschläge, einen weiteren Balken zu entfernen, ohne die Formatierung zu ändern? Ich habe meinen (gescheiterten) Versuch hier gemacht: http://stackoverflow.com/questions/44054876/selectively-drop-bars-from-bar-plot-without-changing-formatting – Joe

Verwandte Themen