wake-up-neo.net

Mittlerer Plottitel in ggplot2

Hallo, dieser einfache Code (und alle meine Skripte von heute Morgen) haben begonnen, mir in ggplot2 einen außermittigen Titel zu geben

Ubuntu version: 16.04

R studio version: Version 0.99.896

R version: 3.3.2

GGPLOT2 version: 2.2.0

Ich habe die oben genannten heute Morgen frisch installiert, um zu versuchen, dies zu beheben ....

dat <- data.frame(
time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(14.89, 17.23)
)

# Add title, narrower bars, fill color, and change axis labels
ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) + 
  geom_bar(colour="black", fill="#DD8888", width=.8, stat="identity") + 
  guides(fill=FALSE) +
  xlab("Time of day") + ylab("Total bill") +
  ggtitle("Average bill for 2 people")

enter image description here

206

Aus den Veröffentlichungsnachrichten von ggplot 2.2.0: "Der Titel der Haupthandlung ist jetzt linksbündig, um besser mit einem Untertitel arbeiten zu können" . Siehe auch das Argument plot.title in ?theme: "standardmäßig linksbündig".

Wie von @J_F hervorgehoben, können Sie theme(plot.title = element_text(hjust = 0.5)) hinzufügen, um den Titel zu zentrieren.

ggplot() +
  ggtitle("Default in 2.2.0 is left-aligned")

enter image description here

ggplot() +
  ggtitle("Use theme(plot.title = element_text(hjust = 0.5)) to center") +
  theme(plot.title = element_text(hjust = 0.5))

enter image description here

275
Henrik

Wie in Antwort von Henrik angegeben, werden Titel ab ggplot 2.2.0 standardmäßig linksbündig ausgerichtet. Titel können zentriert werden, indem Sie Folgendes zum Plot hinzufügen:

theme(plot.title = element_text(hjust = 0.5))

Wenn Sie jedoch viele Diagramme erstellen, kann es mühsam sein, diese Linie überall hinzuzufügen. Man könnte dann auch das Standardverhalten von ggplot mit ändern

theme_update(plot.title = element_text(hjust = 0.5))

Sobald Sie diese Linie durchlaufen haben, verwenden alle danach erstellten Zeichnungen die Themeneinstellung plot.title = element_text(hjust = 0.5) als Standard:

theme_update(plot.title = element_text(hjust = 0.5))
ggplot() + ggtitle("Default is now set to centered")

enter image description here

Um zu den ursprünglichen ggplot2-Standardeinstellungen zurückzukehren, können Sie entweder die R-Sitzung neu starten oder das Standarddesign mit auswählen

theme_set(theme_gray())
114
Stibu