Meine y-Achse für Altersgruppen überschneidet sich ständig. Bitte helfen Sie! Das ist mein Code:
ggplot(data = BRFSS2015_outlier1, aes(x = INCOME2, y= Age, color = SEX))+
geom_col(width=0.03)+
facet_grid(.~SEX)+
labs(x = "Age")+
theme(axis.text.x = element_text(angle = 30))
Die Ausgabe sieht so aus:
Lösung des Problems
Es ist hilfreich, ein Datenbeispiel mit dput(BRFSS2015_outlier1) oder, wenn das zu lang ist, mit dput(head(BRFSS2015_outlier1)) anzuzeigen.
Ich vermute, dass das Alter als Faktor gespeichert ist und Sie nicht zusammengefasst haben, sodass jede Spalte viele Beobachtungen stapelt, was zu hohen Spalten führt, die mit der begrenzten Anzahl von Altersfaktoren, die auf der y-Achse angezeigt werden, weit außerhalb des Maßstabs liegen. Sie könnten zum Beispiel ein Alter „30" haben, was der erste Faktor sein könnte, der bei „1" auf der y-Achse erscheint, und Alter „40" als zweiten Faktor, der bei „2" auf der y-Achse erscheint, aber diese sind im Grunde 0 im Vergleich zu Ihrem Stack, der Hunderte oder Tausende von Beobachtungen hoch ist.
Hier ist ein reproduzierbares Beispiel mit Daten, die wir alle bereits haben. Beachten Sie, dass die Beschriftungen der Y-Achse wie in Ihrem Beispiel unten alle überlappt sind.
ggplot(data = diamonds, aes(x = cut, y= as.factor(cut), color = clarity))+
geom_col(width=0.03)+
facet_grid(.~color)+
theme(axis.text.x = element_text(angle = 30))
Mir ist unklar, was Sie mit Age auf der y-Achse zeigen möchten. Soll jeder Balken "so hoch" wie das Alter sein? Oder möchten Sie zeigen, wie viele Beobachtungen es für jedes Alter gibt?
Ich vermute, Sie wollten zeigen, wie sich die Einkommensverteilung mit dem Alter ändert. In diesem Fall ist es möglicherweise angemessener, Alter als vertikale Facettenvariable zu verwenden, wie hier (ersetzen Sie "Schnitt" hier durch Alter in Ihrem Beispiel). Beachten Sie auch die Verwendung von geom_bar
(das standardmäßig die Anzahl der Beobachtungen zählt und anzeigt) anstelle von geom_col
(das standardmäßig den Rohwert anzeigt).
ggplot(data = diamonds, aes(x = cut, fill = cut))+
geom_bar()+
facet_grid(color~clarity)+
theme(axis.text.x = element_text(angle = 30))
Keine Kommentare:
Kommentar veröffentlichen