Ich zeichne ein Diagramm mit einer kategorialen Variable auf der x-Achse und einer numerischen Variable auf der y-Achse.
Da es auf der x-Achse viele Datenpunkte gibt, führt die Standardtextformatierung dazu, dass sich die Beschriftung für jede Tickmarkierung mit anderen Beschriftungen überschneidet. Wie kann ich (a) die Schriftgröße für meinen Achsentext ändern und (b) die Ausrichtung des Textes so ändern, dass der Text senkrecht zur Achse steht?
Verwenden Sie theme()
:
d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10))
ggplot(d, aes(x=x, y=y)) + geom_point() +
theme(text = element_text(size=20),
axis.text.x = element_text(angle=90, hjust=1))
#vjust adjust the vertical justification of the labels, which is often useful
Es gibt viele gute Informationen darüber, wie man seine ggplots formatiert hier. Sie können eine vollständige Liste der Parameter sehen, die Sie ändern können (im Grunde alle), indem Sie ?theme
verwenden.
Dito @Drew Steen über die Verwendung von theme()
. Hier sind gemeinsame Themenattribute für Achsentext und Titel.
ggplot(mtcars, aes(x = factor(cyl), y = mpg))+
geom_point()+
theme(axis.text.x = element_text(color = "grey20", size = 20, angle = 90, hjust = .5, vjust = .5, face = "plain"),
axis.text.y = element_text(color = "grey20", size = 12, angle = 0, hjust = 1, vjust = 0, face = "plain"),
axis.title.x = element_text(color = "grey20", size = 12, angle = 0, hjust = .5, vjust = 0, face = "plain"),
axis.title.y = element_text(color = "grey20", size = 12, angle = 90, hjust = .5, vjust = .5, face = "plain"))
Die Verwendung des Attributs "fill" hilft in solchen Fällen. Sie können den Text von der Achse mit "element_blank()" entfernen und ein mehrfarbiges Balkendiagramm mit einer Legende anzeigen. Ich stelle die Häufigkeit der Teileentnahme in einer Reparaturwerkstatt wie folgt dar
ggplot(data=df_subset,aes(x=Part,y=Removal_Frequency,fill=Part))+geom_bar(stat="identity")+theme(axis.text.x = element_blank())
Ich habe mich in meinem Fall für diese Lösung entschieden, da ich viele Balken im Balkendiagramm hatte und nicht in der Lage war, eine geeignete Schriftgröße zu finden, die sowohl lesbar als auch klein genug ist, um sich nicht gegenseitig zu überlappen.