Um Veraltetheit zu vermeiden optsund zu theme_rectverwenden:
myplot + theme(panel.background = element_rect(fill='green', colour='red'))
So definieren Sie Ihr eigenes benutzerdefiniertes Thema, basierend auf theme_gray, aber mit einigen Ihrer Änderungen und einigen zusätzlichen Extras, einschließlich der Steuerung der Farbe / Größe der Gitterlinie (weitere Optionen zum Spielen unter ggplot2.org ):
theme_jack <- function (base_size = 12, base_family = "") {
theme_gray(base_size = base_size, base_family = base_family) %+replace%
theme(
axis.text = element_text(colour = "white"),
axis.title.x = element_text(colour = "pink", size=rel(3)),
axis.title.y = element_text(colour = "blue", angle=45),
panel.background = element_rect(fill="green"),
panel.grid.minor.y = element_line(size=3),
panel.grid.major = element_line(colour = "orange"),
plot.background = element_rect(fill="red")
)
}
So legen Sie Ihr benutzerdefiniertes Design als Standard fest, wenn ggplot in Zukunft ohne Maskierung aufgerufen wird:
theme_set(theme_jack())
Wenn Sie ein Element des aktuell festgelegten Themas ändern möchten:
theme_update(plot.background = element_rect(fill="pink"), axis.title.x = element_text(colour = "red"))
So speichern Sie das aktuelle Standarddesign als Objekt:
theme_pink <- theme_get()
Beachten Sie, dass dies theme_pinkeine Liste ist, während theme_jackeine Funktion war. Um das Thema wieder auf theme_jack zu verwenden theme_set(theme_jack()), kehren Sie zu theme_pink zurück theme_set(theme_pink).
Sie können theme_graydurch theme_bwin der Definition von ersetzen, theme_jackwenn Sie es vorziehen. Damit Ihr benutzerdefiniertes Thema ähnelt, theme_bwaber alle Gitterlinien (x, y, Dur und Moll) deaktiviert sind:
theme_nogrid <- function (base_size = 12, base_family = "") {
theme_bw(base_size = base_size, base_family = base_family) %+replace%
theme(
panel.grid = element_blank()
)
}
Schließlich ein radikaleres Thema, das beim Zeichnen von Choroplethen oder anderen Karten in ggplot nützlich ist. Es basiert auf der Diskussion hier, wurde jedoch aktualisiert, um eine Ablehnung zu vermeiden. Ziel ist es, den grauen Hintergrund und alle anderen Funktionen zu entfernen, die von der Karte ablenken könnten.
theme_map <- function (base_size = 12, base_family = "") {
theme_gray(base_size = base_size, base_family = base_family) %+replace%
theme(
axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.ticks.length=unit(0.3, "lines"),
axis.ticks.margin=unit(0.5, "lines"),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
legend.background=element_rect(fill="white", colour=NA),
legend.key=element_rect(colour="white"),
legend.key.size=unit(1.2, "lines"),
legend.position="right",
legend.text=element_text(size=rel(0.8)),
legend.title=element_text(size=rel(0.8), face="bold", hjust=0),
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
panel.margin=unit(0, "lines"),
plot.background=element_blank(),
plot.margin=unit(c(1, 1, 0.5, 0.5), "lines"),
plot.title=element_text(size=rel(1.2)),
strip.background=element_rect(fill="grey90", colour="grey50"),
strip.text.x=element_text(size=rel(0.8)),
strip.text.y=element_text(size=rel(0.8), angle=-90)
)
}
theme_bw, die Ihnen einen weißen Hintergrund und graue Gitterlinien gibt. Ich benutze es die ganze Zeit, da es im Druck viel besser aussieht als der standardmäßige graue Hintergrund:myplot + theme_bw()