ggplot использует два параметра в целом для цветов:
col =
и
fill =
Вы назначили заполнение (внутреннее), но не имели дело с col (контур).
должно работать следующее, где я назначаю col = NA
ggplot(pie) +
geom_arc_bar(aes(x0 = 0, y0 = 0, r0 = 0, r = 1, amount = amount,
fill = state, explode = focus), col=NA,stat = 'pie') +
scale_fill_brewer('', palette = 'Set1') +
coord_fixed()
РЕДАКТИРОВАТЬ: Итак, чтобы ответить на второй вопрос - я действительно не знаю, возможно ли это (я не слишком знаком с ggforce)
В свете этого я прошу прощения заранее за это «хакерское» решение вашей проблемы. Но я чувствовал, что было бы лучше предложить что-то для других, чтобы улучшить.
Для объяснения: сохраните исходный контур, а затем нарисуйте новый контур того же цвета, что и каждый сегмент, используя функцию geom_arc0 "
geom_arc0(aes(x0 = 0, y0 = 0, r = 1, start = start, end = end,
colour = factor(state)), data = pie, ncp = 50)
в контексте:
ggplot(pie) +
geom_arc_bar(aes(x0 = 0, y0 = 0, r0 = 0, r = 1, amount = amount,
fill = state, explode = focus), col="black",stat = 'pie') +
geom_arc0(aes(x0 = 0, y0 = 0, r = 1, start = start, end = end,
colour = factor(state)), data = pie, ncp = 50)
scale_fill_brewer('', palette = 'Set1') +
coord_fixed()
Это может выглядеть немного хитроумно - если вы увеличите параметр ncp, это добавит больше точек к контуру (таким образом, приближаясь к идеальному кругу) - я ограничился ncp = 2000.
Снова извиняюсь за то, что он такой хакерский.