Wenn ein ggplot2-Design mit einem schwarzen Hintergrund verwendet wird, kann man die Legendenfarbe für Hilfslinien anders als die Farbhilfe steuern, so dass Dinge nicht schwarz geplottet werden? Wenn das so ist, wie?Steuerfarbe von Legendenelementen, die keine Farbhilfslinien sind in ggplot
library(ggplot2) # needs to be 0.9.3 for this theme
data(iris) # included with ggplot2
theme_black<- function (base_size = 16, base_family = ""){
theme_minimal() %+replace%
theme(
line = element_line(colour = "white", size = 0.5, linetype = 1,
lineend = "butt"),
rect = element_rect(fill = "white",
colour = "white", size = 0.5, linetype = 1),
text = element_text(family = base_family,
face = "plain", colour = "white", size = base_size,
angle = 0, lineheight = 0.9, hjust = 0, vjust = 0),
plot.background = element_rect(colour = 'black', fill = 'black'),
plot.title = element_text(size = rel(1.2)),
panel.border = element_rect(fill = NA, colour = "white"),
panel.grid.major = element_line(colour = "grey20", size = 0.2),
panel.grid.minor = element_line(colour = "grey5", size = 0.5),
strip.background = element_rect(fill = "grey30", colour = "grey30")
)
}
ggplot(data=iris, aes(x=Sepal.Length, y=Sepal.Width, shape=Species,
colour=Petal.Length))+geom_point()+theme_black()+
scale_colour_gradient(low = "purple", high = "white")
Wie Sie sehen können, hat die Standardfarbe für die Form Teil der Legende nicht geändert worden, so dass es unsichtbar ist, und man kann nicht sagen, welche Art ist das:
Die Einzige Lösung, die ich jetzt habe, ist die Legende zu ändern. Hintergrundfarbe, aber das ist eine Verschwendung von Tinte und hässlich.
Hier ist eine Teillösung: '+ guides (shape = guide_legend (override.aes = list (color =" weiß ")))'. Leider kann 'theme()' nicht verwendet werden, um Dinge wie die Standardpunktfarbe zu ändern. – bdemarest
Danke für diese Antwort (+1). Ich denke, es wäre es wert, als Antwort hinzugefügt zu werden: Ich würde es sicherlich aufwerten. – MattBagg