Python 如何创建分组图表

Python 如何创建分组图表,python,r,matplotlib,ggplot2,Python,R,Matplotlib,Ggplot2,我有一个数据框: df = GROUP MARK ABC 1 ABC 0 ABC 1 DEF 1 DEF 1 DEF 1 DEF 1 XXX 0 我需要创建一个piechart(使用Python或R)。每个饼图的大小应与特定组的行的比例计数(即百分比)相对应。此外,每个饼图应分为2个子部分,对应于给定组中标记==1和标记==0的行百分比 我在谷歌上搜索这种类型的图表,发现了。但对于我的案例来说,这个例子似乎过于复杂了。另一个

我有一个数据框:

df =

GROUP   MARK
ABC     1
ABC     0
ABC     1
DEF     1
DEF     1
DEF     1
DEF     1
XXX     0
我需要创建一个piechart(使用Python或R)。每个饼图的大小应与特定
组的行的比例计数(即百分比)相对应。此外,每个饼图应分为2个子部分,对应于给定
组中
标记==1
标记==0
的行百分比

我在谷歌上搜索这种类型的图表,发现了。但对于我的案例来说,这个例子似乎过于复杂了。另一个很好的例子是在中完成的,由于语言的原因,它不适合我


有人能告诉我这种类型的piecharts的名称吗?我在哪里可以找到Python或R中的一些代码示例。

这里有一个R中的解决方案,它只使用基本R。我不知道你想如何安排你的馅饼,但我用了
par(mfrow=…)


df您可以使用
highcharter
,它是highcharts JS库的R包装器(由您的第二个“好例子”使用)。但我认为这不是一种展示数据的好方法。@arvi1000:你能给出一些饼图的例子吗?我只能找到条形图和时间序列。虽然可以使用饼图,但我认为这不是表示分层数据的最佳方式。有很多选择,比如树形图或华夫格图。如果你想坚持径向选择,我会看一个coxcomb图或sunburst图。所有这些选项都有便于打印的程序包。
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)
}))