Я столкнулся с этим вопросом на днях и попытался воссоздать его для себя. ggplot, facet, piechart: размещение текста в середине фрагментов круговой диаграммы
. Мои данные в очень похожем формате, но, к сожалению, принятый ответ не помог, поэтому я и публикую его.
Я хочу создать принятый ответ, но с моими собственными данными, но я сталкиваюсь с проблемой coord_polar does not support free scale
. Используя первый ответ:
![test_pie](https://i.stack.imgur.com/Kh6gX.png)
Я попробовал это, используя вторую версию ответа, с версией ddplyr, но я также не получаю желаемый результат. Используя второй ответ:
![test_pie2](https://i.stack.imgur.com/kCkxA.png)
Очевидно, что ни один из них не имеет желаемого эффекта. Я бы предпочел создать одну, как с круговыми диаграммами, но в качестве примера показала только четыре:
.
Это я сделал в Excel, но с одной легендой и без фона сетки.
Код
title<-c(1,1,2,2,3,3,4,4,5,5,6,6)
type<-c('A','B','A','B','A','B','A','B','A','B','A','B')
value<-c(0.25,0.75,0.3,0.7,0.4,0.6,0.5,0.5,0.1,0.9,0.15,0.85)
piec<-data.frame(title,type,value)
library(tidyverse)
p1<-ggplot(data = piec, aes(x = "", y = value, fill = type)) +
geom_bar(stat = "identity") +
geom_text(aes(label = value), position = position_stack(vjust = 0.5)) +
coord_polar(theta = "y")
#facet_grid(title ~ ., scales = "free")
p1
piec <- piec %>% group_by(title) %>% mutate(pos=cumsum(value)-0.5*value)
p2<-ggplot(data = piec) +
geom_bar(aes(x = "", y = value, fill = type), stat = "identity") +
geom_text(aes(x = "", y = pos, label = value)) +
coord_polar(theta = "y")
#facet_grid(Channel ~ ., scales = "free")
p2