Podczas korzystania z motywu ggplot2 na czarnym tle, czy można kontrolować kolor legendy dla prowadnic innych niż prowadnice kolorów, aby rzeczy nie były drukowane na czarno? Jeśli tak to jak?Kolor kontrolny elementów legendy niebędących kolorowymi przewodnikami w 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")
Jak widać, domyślny kolor dla części kształt legendy nie została zmieniona, więc jest niewidoczny i nie można powiedzieć, który gatunek jest która:
Jedynym rozwiązaniem, jakie mam teraz, jest zmiana koloru legend.background, ale jest to strata atramentu i brzydka.
Oto częściowa poprawka: '+ guides (shape = guide_legend (override.aes = list (color =" white ")))). Niestety, 'theme()' nie może być użyte do zmiany rzeczy, takich jak domyślny kolor punktu. – bdemarest
Dziękuję za tę odpowiedź (+1). Myślę, że warto byłoby dodać jako odpowiedź: z pewnością bym go przegłosował. – MattBagg