Подтвердить что ты не робот

Словарь ggplot

Это, должно быть, раздражало кого-то в прошлом, поэтому извините меня, если это дубликат, и я удалю его. При использовании geom_bar слэш по легендам может раздражать. например:

x  <- c("a","b")
y  <- c(1,2)
df <- as.data.frame(cbind(x,y))
a  <- ggplot(df,aes(x=x,y=y,fill=x))
a + geom_bar(colour="black") + scale_fill_manual(values=c("white", "black"))

enter image description here

Когда я использую цветные полоски, я использую эту работу, сначала рисуя полосы без цветов, например,

a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) +
 scale_fill_manual(values=c("white", "black"))

Однако, когда заливка является белой, это оставляет неудовлетворительную пустую белую коробку в легенде без границы. например.

enter image description here

Я исправлял это в прошлом вручную с помощью графического программного обеспечения, но теперь я думаю, что это должно быть полезно для достаточного количества людей, чтобы задать здесь вопрос. Можем ли мы сделать ggplot заговор легенды только с черным контуром, но без косой черты?

4b9b3361

Ответ 1

 a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) +
 scale_fill_manual(values=c("white", "black")) + 
 opts(legend.key = theme_rect(fill = 'black'))

дал мне это, enter image description here благодаря этот сайт.

Алос, вы получите тот же результат, используя colour вместо fill (можно утверждать, что он лучше, чем).

a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) + 
scale_fill_manual(values=c("white", "black")) + 
opts(legend.key = theme_rect(colour = 'black'))

Важное примечание. В современных версиях ggplot2 opts устарела и заменена на theme, а theme_rect заменена на element_rect.

Ответ 2

Нет, что дает ему это описание. Если вы используете серый, а не белый (с трюком), он более различим. Вы также можете добавить цвет фона к легенде, чтобы сделать его более различимым и сохранить его белым. См. Нижнюю часть этой страницы для более подробной информации:

http://wiki.stdout.org/rcookbook/Graphs/Legends%20(ggplot2)/

Мне жаль, что для этого не было менее грубого способа.