Ich möchte die zweite Facettenreihe aus meinem Diagramm entfernen, da für diese Faktorkombination keine Daten vorliegen.Löschen einer ganzen Reihe von Facetten der nicht verwendeten Faktor-Level-Kombination
library(ggplot2)
library(grid)
set.seed(5000)
# generate first df
df1 = data.frame(x=rep(rep(seq(2,8,2),4),6),
y=rep(rep(seq(2,8,2),each=4),6),
v1=c(rep("x1",32),rep("x2",64)),
v2=c(rep("y1",64),rep("y2",32)),
v3=rep(rep(c("t1","t2"),each=16),3),
v4=rbinom(96,1,0.5))
# generate second df
df2 = data.frame(x=runif(20)*10, y=runif(20)*10,
v1=sample(c("x1","x2"),20,T))
# plot
ggplot() +
geom_point(data=df1, aes(x=x, y=y, colour = factor(v4)), shape=15, size=5) +
scale_colour_manual(values = c(NA,"black")) + facet_grid(v1+v2~v3, drop = T) +
geom_point(data=df2, aes(x=x,y=y), shape=23 , colour="black", fill="white", size=4) +
coord_equal(ratio=1) + xlim(0, 10) + ylim(0, 10)
ich die Idee von this Post zu benutzen versucht ..
g=ggplotGrob(y)
pos=which(g$layout$t==5 | g$layout$t==6)
g$layout=g$layout[-c(pos),]
g$grobs=g$grobs[-c(pos)]
grid.newpage()
grid.draw(g)
..aber diese bekam.
Wie kann ich den weißen Raum zu beseitigen? Gibt es auch eine einfache Lösung, ohne die Grobs usw. manipulieren zu müssen?
ist es nicht einfacher, die Daten der Teilmenge und nicht diese Platten in erster Linie zeichnen? – baptiste
@baptiste Mein Datenrahmen hat nichts extra, was ich eliminieren kann. Also schlägst du vor, dass ich separate Plots mache und sie mit 'grid.arrange()' oder etwas Ähnlichem zusammenfüge? – zoneparser