2012-08-23 13 views
15

Verwenden von facet_wrap in ggplot2 zum Erstellen eines Rasters, aber ich habe eine ungerade Anzahl von Panels, so dass die letzte Zeile unvollständig ist. Am unteren Rand des letzten, leeren Felds befinden sich die Achsen-Ticks und der Text. Ist es möglich, diese Achse nach oben zu verschieben (was der letzten Facette in jeder Spalte den Anschein gibt, dass sie free_x angewendet hat)? Wenn nicht, kann ich es komplett entfernen, wie unten zu sehen ist?Entfernen Sie "schwebende" Achsenbeschriftungen in facet_wrap plot?

mit Beispielen Um zu klären, ist es das, was ich bekomme: http://sape.inf.usi.ch/sites/default/files/ggplot2-facet-wrap.png

enter image description here

ich hier etwas zu sehen wünschen (obwohl, idealerweise mit Achsenbeschriftung auf der Facette in Spalte 4): Changing facet label to math formula in ggplot2

enter image description here

Vielen Dank für alle Ideen oder Einsicht!

+0

Ich fürchte, ich verstehe nicht, was Sie meinen. Die zwei Bilder sehen mir ähnlich, abgesehen von den Achsenbeschriftungen. – Andrie

+2

Rechts. Der Benutzer möchte die Positionierung der Achsenbeschriftungen in der 4. Spalte ändern (oder entfernen). –

+5

@DWin Got - halten Sie die Achsenbeschriftungen in der vierten Spalte, verschieben Sie sie jedoch vertikal. Ich bezweifle, dass das möglich ist, ohne es manuell in 'Grid' zu tun. – Andrie

Antwort

2

Mit facet_wrap, wenn ich dies in 0.9.1 mache, blendet ggplot die X-Achsen auf den Spalten mit Leerzeichen aus, wie unten gezeigt.

movies$decade <- round(movies$year, -1) 
ggplot(movies) + geom_histogram(aes(x=rating)) + facet_wrap(~ decade, ncol=5) 

enter image description here

+1

Hier können einige Versionsunterschiede auftreten: Die ursprüngliche Frage ist einige Monate alt. Mit ggplot 0.9.2.1 und einem erfundenen Beispiel (8 Facetten in einem 3x3-Wrapped-Array) erhalte ich nicht den zusätzlichen Satz von Achsenbeschriftungen, unabhängig davon, ob ich die Anzahl der Spalten festlege oder nicht. In meinem Beispiel muss ich 'ncol = 5 'verwenden, um eine unebene Array-Größe zu erzwingen (sonst bekomme ich ein 3x4-Array), oder lösche die 2000er, aber wenn ich letzteres mache, bekomme ich immer noch die leeren Achsen. –

+0

Bestätigt, manuelle Spezifikation spielt keine Rolle. Ich formuliere die Antwort um. – Christian

Verwandte Themen