2017-12-30 7 views
0

Ich habe einen Mosaikplot erzeugt durch ggmosaic:ggmosaic Stück mit asymmetrischem Versatz

ggplot(data.frame(a1=c(T,T,F,F), a2=c(T,F,T,F), a3=c(1,3,3,3))) + 
    geom_mosaic(aes(weight=a3, x=product(a1,a2), fill=a1)) 

mosaic plot

Ich mag den Raum zwischen den vertikalen Balken verbreitern, ohne die Höhe des Raumes zwischen dem gestapelten wechselnden Spalten:

wide mosaic plot

ich habe die offset versucht, mit Parameter, aber es scheint auf beiden Dimensionen zu arbeiten, und kann nicht nur eins isolieren. Eine Antwort unter Verwendung von Vanille ggplot ist akzeptabel, aber eine ggmosaic-Lösung ist nur bevorzugt.

+1

Soweit ich das beurteilen kann, werden Sie dies nicht über 'geom_mosaic der Lage sein, zu erreichen()'. Dies kann nur über 'geom_bar()' geschehen. Es gibt keine Option 'width =' innerhalb von 'geom_mosaic()'. – InfiniteFlashChess

+0

Siehe diesen Beitrag: https://Stackoverflow.com/a/25070645/5874001 – InfiniteFlashChess

Antwort

0

Eine weniger als ideal Abhilfe mit Verwendung geom_bar:

ggplot(data.frame(a1=c(T,T,F,F), a2=c(T,F,T,F), a3=c(1,3,3,3)), aes(width=c(.4,.6,.4,.6)))+ 
    geom_bar(aes(x=a2, y=-a3, fill=a1), position = "fill", stat = "identity") 

bar mosaic

Verwandte Themen