Я пытаюсь создать граненый штрих-код, с процентами, составляющими до 100 для каждой грани. Решение этой проблемы представляется комбинацией group
и ..density..
. Как бы то ни было - мне кажется, что group
противоречит fill
.
Данные:
test <- data.frame(
test1 = sample(letters[1:2], 100, replace = TRUE),
test2 = sample(letters[3:8], 100, replace = TRUE)
)
Это получает проценты вправо:
ggplot(test, aes(test2)) +
geom_bar(aes(y = ..density.., fill=test2,group=test1)) +
facet_grid(~test1)
Шина, как вы можете видеть, fill
перезаписывается:
Однако код ниже относится к fill
, но дает мне неправильные проценты (суммы до 100 для всей диаграммы) (используя..density..):
ggplot(test, aes(test2)) +
geom_bar(aes(y = ..count../sum(..count..), fill=test2)) +
facet_grid(~test1)
Связанный: Этот старый мой вопрос: процент на y lab в гранжевом барграфе ggplot?.
И да - я мог бы создать дополнительные данные, но я считаю, что это принадлежит слою презентации. На самом деле это похоже на ошибку?