我有以下数据表的更大版本,有大约40种不同的物种:
library(ggplot2)
dat <- read.table(text = " Species Count
Species_1 1
Species_1 2
Species_1 2
Species_2 1
Species_2 3
Species_2 4
Species_2 4
Species_2 3
Species_2 4
Species_2 2
Species_2 1
Species_2 1 ",sep = "",header = TRUE)
我想为每个物种制作饼图,显示每个物种的计数比例。例如,在这种情况下,对于Species_1,我将得到一个1/3着色为“1”的饼图,2/3为“2”着色。我想要所有物种的这些类型的饼图。我几乎用以下代码完成了这个:
dat$Count <- as.character(dat$Count)
pie <- ggplot(dat, aes(x=1, y=Count, fill=Count)) +
geom_bar(stat="identity") +
coord_polar(theta='y') + facet_wrap(~Species) + theme_void()
pie
但是当我做一个以上的物种时,它会根据观察数量最多的物种制作饼图。因此,在这种情况下,Species_1未完全填充。但我希望每个物种都有一定比例的计数,这样所有的饼图都完全填满了。是否有捷径可寻?
答案 0 :(得分:2)
也许这可以提供帮助:
library(ggplot2)
dat <- read.table(text = " Species Count
Species_1 1
Species_1 2
Species_1 2
Species_2 1
Species_2 3
Species_2 4
Species_2 4
Species_2 3
Species_2 4
Species_2 2
Species_2 1
Species_2 1 ",sep = "",header = TRUE)
dat$Count <- as.factor(Count)
dat$Count1 <- 1
pie <- ggplot(dat, aes(x=1, y=Count1, fill=as.factor(Count))) +coord_polar(theta='y')+
geom_bar(position= 'fill',stat="identity") + facet_grid(~Species) + theme_void()
pie