отформатировать внутренние линии сложенного geom_bar ggplot - PullRequest
0 голосов
/ 06 июня 2018

Я хочу удалить внутренние границы из моего ggplot, оставляя цветную рамку только снаружи каждой полосы.Вот тестовый фрейм данных со сгруппированным гистограммой.В идеале у меня получится, что группы в стеке по-прежнему будут серого оттенка с разноцветным контуром в каждой ячейке.

test <- data.frame(iso=rep(letters[1:5],3),
               num= sample(1:99, 15, replace=T),
               fish=rep(c("pelagic", "reef", "benthic"), each=5),
               colour=rep(rainbow(n=5),3))

ggplot(data=test, aes(x=iso, y=num, fill=fish, colour=colour)) +
  geom_bar(stat="identity") +
  theme_bw() + 
  scale_colour_identity() + scale_fill_grey(start = 0, end = .9)

enter image description here

1 Ответ

0 голосов
/ 06 июня 2018

Вы можете сделать это, переместив настройки fill и colour aes() в два отдельных элемента geom_bar(): один, который получает сумму для каждого значения iso (контур), и другой, который разделяет вещивверх на fish:

ggplot(data=test, aes(x=iso, y=num)) +
  geom_bar(stat="summary", fun.y="sum", aes(color=colour)) +
  geom_bar(stat="identity", aes(fill=fish)) +
  theme_bw() + 
  scale_colour_identity() + 
  scale_fill_grey(start = 0, end = .9)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...