首先,修改您的原始数据框,使前6行包含原始score
,并使最后6行包含1减去原始score
。然后添加group
列,其中包含这两个组的水平。
temp <- data.frame(Exercise=c(1, 1, 1, 2, 2, 2),
Name=c(1, 2, 3, 1, 2, 3), Score=c(0.2, 0.5, 0.3, 0.9, 1.0, 0.6))
temp<-rbind(temp,temp)
temp$Score[7:12]<-1-temp$Score[1:6]
temp$group<-rep(c("poz","neg"),each=6)
coord_polar()
用于从条形图制作饼图,然后使用facet_grid()
制作六个小图。 使用theme()
去除轴、分面标签和网格线。
ggplot(temp,aes(x = factor(1),y=Score,fill=group)) +
geom_bar(width = 1, stat = "identity") + facet_grid(Exercise~Name)+
coord_polar(theta = "y") +
scale_fill_manual(values = c("black", "grey")) +
theme_bw() + scale_x_discrete("",breaks=NULL) + scale_y_continuous("",breaks=NULL)+
theme(panel.border=element_blank(),
strip.text=element_blank(),
strip.background=element_blank(),
legend.position="none",
panel.grid=element_blank())
![enter image description here](https://istack.dev59.com/S5mD7.webp)