我有这个pandas数据帧:
df =
GROUP MARK
ABC 1
ABC 0
ABC 1
DEF 1
DEF 1
DEF 1
DEF 1
XXX 0
我需要创建一个饼图(使用Python或R)。每个饼的大小应对应于具有特定GROUP
的行的比例计数(即百分比)。此外,每个饼应分为2个子部分,对应于给定MARK==1
内MARK==0
和GROUP
的行百分比。
我正在使用谷歌搜索这种类型的饼图并找到this one。但是这个例子对我来说似乎过于复杂。另一个很好的例子是在JavaScript中完成的,由于语言不适合我。
有人可以告诉我这种类型的饼图的名称是什么,我在哪里可以找到Python或R中的一些代码示例。
答案 0 :(得分:1)
这是R中仅使用基数R的解决方案。不知道你想如何安排你的馅饼,但我使用了par(mfrow=...)
。
df <- read.table(text=" GROUP MARK
ABC 1
ABC 0
ABC 1
DEF 1
DEF 1
DEF 1
DEF 1
XXX 0", header=TRUE)
plot_pie <- function(x, multiplier=1, label){
pie(table(x), radius=multiplier * length(x), main=label)
}
par(mfrow=c(1,3), mar=c(0,0,2,0))
invisible(lapply(split(df, df$GROUP), function(x){
plot_pie(x$MARK, label=unique(x$GROUP),
multiplier=0.2)
}))
结果如下: