Quando si utilizza un tema ggplot2 con uno sfondo nero, è possibile controllare il colore della legenda per guide diverse dalla guida del colore in modo che le cose non vengano tracciate in nero? Se é cosi, come?Colore di controllo degli elementi della legenda che non sono guide colore 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")
Come si può vedere, il colore predefinito per la parte forma della leggenda non è stato modificato, quindi è invisibile e non si può dire quale specie è che:
Il l'unica soluzione che ho ora è quella di cambiare il colore di legend.background, ma questo è uno spreco di inchiostro e brutto.
Ecco una correzione parziale: '+ guide (shape = guide_legend (override.aes = list (color =" white ")))'. Sfortunatamente, 'theme()' non può essere usato per cambiare cose come il colore punto predefinito. – bdemarest
Grazie per questa risposta (+1). Penso che varrebbe la pena di aggiungere una risposta: lo manterrò sicuramente. – MattBagg