使用ggplot2标记饼图问题(以及要标记的chage grom文本)
我有以下问题:我无法在R中使用ggplot2在饼图上正确添加标签 代码如下:使用ggplot2标记饼图问题(以及要标记的chage grom文本),r,ggplot2,pie-chart,R,Ggplot2,Pie Chart,我有以下问题:我无法在R中使用ggplot2在饼图上正确添加标签 代码如下: establecimientos <- c("A", "A","A","D","D","D","D","D","D","F","F","F","F",&qu
establecimientos <- c("A", "A","A","D","D","D","D","D","D","F","F","F","F","F","F","F","F","F","F","F","F","F","E","E","E","E","E","E","E","G","G","G","G","G","Y","Y","A","A","A","A","A","A","B","B")
pestab <- data.frame(establecimientos) %>%
group_by(establecimientos) %>%
mutate(cnt = n(),
pct = percent(cnt / nrow(.), accuracy = 1)) %>%
unique %>% ungroup %>%
mutate(place = cumsum(cnt) - cnt/2) %>%
ggplot(data = .,
aes(x = factor(1), weight = cnt, fill = factor(establecimientos))) +
geom_bar(position = "stack") +
scale_y_continuous(breaks = seq(0, length(establecimientos), length(establecimientos)/4),
labels = c("0", "25%", "50%", "75%", "100%")) +
coord_polar(theta='y') +
geom_text(aes(x = 1.3, y = place, label = pct)) +
theme(axis.text.y = element_blank(),
axis.title.y = element_blank(),
axis.ticks.y = element_blank(),
axis.title.x = element_blank()) +
labs(fill = "Establecimientos")
pestab
establecimientos%
突变(cnt=n(),
pct=百分比(cnt/nrow(.),精度=1))%>%
唯一%>%解组%>%
突变(位置=总和(cnt)-cnt/2)%>%
ggplot(数据=。)。,
aes(x=系数(1),重量=碳纳米管,填充=系数(establecimientos))+
几何钢筋(位置=“堆叠”)+
连续缩放(打断=顺序(0,长度(establecimientos),长度(establecimientos)/4),
标签=c(“0”、“25%”、“50%”、“75%”、“100%”)+
极坐标(theta='y')+
几何图形文本(aes(x=1.3,y=place,label=pct))+
主题(axis.text.y=element_blank(),
axis.title.y=元素_blank(),
axis.ticks.y=元素_blank(),
axis.title.x=元素_blank())+
实验室(fill=“Establecimientos”)
佩斯塔布
这是乘积=s
此外,我想从geom_文本更改为geom_标签,但我不知道如何做
谢谢您的帮助。我建议下一种方法:
library(tidyverse)
#Data 1
establecimientos <- c("A", "A","A","D","D","D","D","D","D","F","F","F","F","F","F","F","F","F","F","F","F","F","E","E","E","E","E","E","E","G","G","G","G","G","Y","Y","A","A","A","A","A","A","B","B")
#Data 2
df1 <- pestab <- data.frame(establecimientos) %>%
group_by(establecimientos) %>%
mutate(cnt = n(),
pct = percent(cnt / nrow(.), accuracy = 1)) %>%
unique %>% ungroup %>%
mutate(place = cumsum(cnt) - cnt/2)
#Plot
ggplot(df1,aes(x = "", y = cnt, fill = establecimientos)) +
geom_bar(width = 1, stat = "identity", color = "white") +
scale_y_continuous(breaks = seq(0, length(establecimientos), length(establecimientos)/4),
labels = c("0", "25%", "50%", "75%", "100%"))+
coord_polar("y", start = 0) +
geom_text(
aes(y = cnt, label = pct),
color = "black",
position = position_stack(vjust = 0.5)
)+
theme(axis.text.y = element_blank(),
axis.title.y = element_blank(),
axis.ticks.y = element_blank(),
axis.title.x = element_blank()) +
labs(fill = "Establecimientos")
输出:
#Plot 2
ggplot(df1,aes(x = "", y = cnt, fill = establecimientos)) +
geom_bar(width = 1, stat = "identity", color = "white") +
scale_y_continuous(breaks = seq(0, length(establecimientos), length(establecimientos)/4),
labels = c("0", "25%", "50%", "75%", "100%"))+
coord_polar("y", start = 0) +
geom_label(
aes(y = cnt, label = pct),
color = "black",
position = position_stack(vjust = 0.5),show.legend = F
)+
theme(axis.text.y = element_blank(),
axis.title.y = element_blank(),
axis.ticks.y = element_blank(),
axis.title.x = element_blank()) +
labs(fill = "Establecimientos")