Wenn Sie im Datensatz aussagekräftige Variablen- und Stufenbezeichnungen verwenden, muss an den ggplots häufig nicht mehr viel geändert werden. Falls Sie einen Plot für eine Publikation erstellen wollen, können Sie zuerst ein Fenster in der gewünschten Grösse des Plots definieren. Das hat den Vorteil, dass sie später nicht unliebsame Überraschungen mit unleserlichen Schriften beim Verkleinern erleben. Anschliessend generieren Sie den Plot. Falls nötig, können Sie Titel, Achsenbezeichnungen, Legende und Skalenbereiche mit Hilfe untenstehender Formatierungswerkzeuge ändern.

Grösse des Plots in cm vorgeben

Wenn man die Grösse des Plots vorgeben will, ist dies vor dem Funktionsaufruf für den Plot zu erledigen.
quartz(width=12/2.54, height=10/2.54) # Beispiel für 12 cm breit und 10 cm hoch
Für PC ist quartz() durch windows() zu ersetzen.
Selbstverständlich könen Sie die Grösse des Grafikfensters auch direkt mit der Maus anpassen. Strichdicken, Schrift- und Punktgrössen ändern dabei nicht.

Titel einfügen und/oder Achsenbezeichnungen ändern

Die mit meinen Funktionen erstellten ggplots enthalten keine Titel, da diese beim Einreichen eines Manuskriptes separat mitgeliefert werden.
Titel einfügen: last_plot() + ggtitle("Titel einfügen")
Bezeichnung der x-Axhse ändern: last_plot() + xlab("Bezeichnung der X-Achse")
Bezeichnung der y-Axhse ändern: last_plot() + ylab("Bezeichnung der Y-Achse")

Titel und/oder Stufenbezeichnungen der Legende ändern

Der Befehl hängt davon ab, ob es sich um ein Balken- oder Liniendiagramm handelt und ob der Plot schwarzweiss oder farbig ist. Wenn Sie die Stufenbezeichnungen nicht ändern wollen, lassen Sie breaks und labels weg. Wenn Sie bei der Schwarzweissvariante des Balkendiagramms den Bereich der Grauabstufung definert haben (start = 0, end = .9), fügen Sie dies auch im update ein.
Balkendiagramm
Swarzweiss: last_plot() + scale_fill_grey(name="Titel", breaks=c("alte Labels", ...), labels= c("neue Labels", ..))
Farbig: last_plot() + scale_fill_discrete(name="Titel", breaks=c("alte Labels", ...), labels= c("neue Labels", ..))
Liniendiagramm
Swarzweiss: last_plot() + scale_linetype_grey(name="Titel", breaks=c("alte Labels", ...), labels= c("neue Labels", ..))
Farbig: last_plot() + scale_colour_discrete(name="Titel", breaks=c("alte Labels", ...), labels= c("neue Labels", ..))

Position der Legende ändern

Legende über dem Plot: last_plot() + theme(legend.position = "top", legend.direction="horizontal")
Legende unter dem Plot: last_plot() + theme(legend.position = "bottom", legend.direction="horizontal")
Legende innerhalb des Plots (Achsenbereiche 0-1, d.h. Ecke links unten (0,0), Ecke rechts oben (1, 1)):
last_plot() + theme(legend.position = c(0.9, 0.9), legend.direction="vertical") # Nach zwei Versuchen hat mann's.
Legende weglassen: last_plot() + theme(legend.position = "none")

Mathematische Ausdrücke in Bezeichnungen einbauen

Die von untenstehenden Funktionen übernommenen Variablen- und Stufenbezeichnungen können durch Strings mit Leerschlägen und/oder mathematische Ausdrücke ersetzt werden (Mathe-Syntax vgl. ?plotmath). Kombination von Text und mathematischen Ausdrücken ohne Einsetzen von Werten in Variablen:
last_plot() + ggtitle(expression(paste("Konfidenzintervall von ", bar(X)[1]- bar(X)[2], " (", alpha==.05, ")")))
Kombination von Text und mathematischen Ausdrücken mit Einsetzen von Werten in Variablen:
p <- 0.7; n <- 20
last_plot() + ggtitle(substitute(paste("Binomialverteilung für: ", pi==p, " und ", N==n), list(p=p, n=n)))

Skalenbereiche ändern

Die Skalenbereiche können im Nachhinein geändert werden. Dies kann für Linienplots hifreich sein, deren Ordinate in der Defaultvariante manchmal nicht bei 0 beginnt.
Skalenbereich der x-Axhse ändern: last_plot() + xlim(0, 60) # Skalenbereich von 0 bis 60
Skalenbereich der y-Axhse ändern: last_plot() + ylim(0, 60)

Schriftgrössen ändern

Die in eingesetzten Zahlen sind nur als Beispiel und nicht als Normwerte zu verstehen.
Haupttitel: last_plot() + theme(plot.title=element_text(size = 14, face="bold"))
Titel der x-Achse: last_plot() + theme(axis.title.x = element_text(size =12))
Titel der y-Achse: last_plot() + theme(axis.title.y = element_text(size = 12, angle = 90))
Beschriftung der x-Achse: last_plot() + theme(axis.text.x = element_text(size = 10))
Beschriftung x-Achse vertikal: last_plot() + theme(axis.text.x = element_text(size = 10, angle=90, hjust=1))
Beschriftung der y-Achse: last_plot() + theme(axis.text.y = element_text(size = 10))
Titel der Legende: last_plot() + theme(legend.title = element_text(size = 12, face="bold"))
Labels der Legende: last_plot() + theme(legend.text = element_text(size = 12))
Striptext (vgl. Histogramme für zweifaktorielle Designs):
last_plot() + theme(strip.text.x=element_text(size = 10), strip.text.y=element_text(size = 10, angle = -90))

Intervall der Skalierung ändern (tick marks)

Wenn Sie den Plot auf die gewünschte Grösse bringen, kann es sein, dass die Abstände zwischen den Skalenbeschriftungen für die gewünschte Schriftgrösse zu eng werden und vergrössert werden müssen.
Skalierung der x-Achse ändern: last_plot() + scale_x_continuous(breaks=c(0, 20, 40, 60))
Skalierung der y-Achse ändern: last_plot() + scale_y_continuous(breaks=c(0, .02, .04, .06))

Achsentitel, Skala und/oder tick marks weglassen

x-Achse:
last_plot() + theme(axis.title.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank())
y-Achse:
last_plot() + theme(axis.title.y=element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank())

Formen dargestellter Punkte ändern

Die Punkteformen werden beispielsweise anhand eines Faktors mit zwei Stufen unterschieden, vgl. Interaktionsplot (Schwarzweissversion 2), Streudiagramm mit Gruppenvariablen
last_plot() + scale_shape_manual(values=c(15, 18))
Zuordnung der Nummern zu den Punkteformen:
x <- 0:24; y <- rep(0, 25); Dat <- data.frame(x,y)
quartz(width=10, height=2)
ggplot(data=Dat, aes(x=x, y=y)) + geom_point(shape=x, size=8) + theme_bw() + scale_x_continuous(breaks=c(0:24)) +
theme(axis.title.y=element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank()) + xlab("Symbolnummer")

Farben ändern

Es ist zu beachten, dass die von ggplot automatisch gewählten Farben auf den ersten Blick zwar nicht sehr knallig daherkommen, sich aber trotzdem sehr gut für Powerpointpräsentationen eignen.
Es gibt ganz verschiedene Varianten, auf Farbtöne zuzugreifen.
• Die einfachste aber auch rudimentärste ist eine Zuordnung von acht Farben zu den Zahlen 1 bis 8, vgl.
x <- 1:8; y <- rep(0, 8); Dat <- data.frame(x,y); quartz(width=6, height=2)
ggplot(data=Dat, aes(x=x, y=y)) + geom_point(shape=15, size=15, colour=x) + theme_bw() +
scale_x_continuous(breaks=c(1:8)) + theme(axis.title.y=element_blank(),
axis.text.y=element_blank(), axis.ticks.y=element_blank()) + xlab("Farbnummer")
• Sie können Farbnamen verwednen, z.B. c("red", "blue"), siehe: http://sape.inf.usi.ch/quick-reference/ggplot2/colour
• Sie können gezielt auf Farben des RGB oder HSV resp. HSB Farbraumes zugreifen, siehe obige Homepage.
• Es gibt eine Farbpalette, die sich speziell für Farbenblinde eignet, siehe http://www.cookbook-r.com/Graphs/Colors_(ggplot2)/
Ändern der Linienfarben
Die Linienfarben werden beispielsweise anhand eines Faktors mit zwei Stufen unterschieden, vgl. Interaktionsplot (Schwarzweissversion 2), Streudiagramm mit Gruppenvariable
last_plot() + scale_colour_manual(values=c(2, 3))
Ändern der Füllfarben von Balken
Die Punkteformen werden beispielsweise anhand eines Faktors mit zwei Stufen unterschieden, vgl. Balkendiagramm von Häufigkeiten und Balkendiagramm von Mittelwerten
last_plot() + scale_fill_manual(values=c(2, 3))