在matplotlib中,可以通过绘制“饼图”来展示各类别在总体中所占的比例。
1 绘制基本“饼图”
通过matplotlib中的pie()函数绘制饼图,代码如图1所示。
图1 绘制基本“饼图”的代码
从图1中可以看出,pie()函数的参数y即为要绘制的数据,绘制出的“饼图”如图2所示。
图2 基本“饼图”
从图2中可以看出,不同颜色表示不同数据,其比例按照列表y中的数据的比例,即40:30:20:10。
注意1 要显示的数据和不一定是100,代码中的列表y所有元素和是100,目的是为了方便计算。
2 “饼图”的美化
2.1 指定每部分的标签
为“饼图”中的各部分添加标签的代码如图3所示。
图3 指定每部分标签的代码
其中,labels是包含了字符串元素的列表,这些字符串即为“饼图”中的各部分添加标签;在pie()函数中指定labels参数的值即可。添加了各部分标签的饼图如图4所示,
图4 添加了各部分标签的饼图
2.2 指定各部分的颜色
为“饼图”中的各部分指定颜色的代码如图5所示。
图5 指定每部分颜色的代码
其中,colors是包含了颜色字符串的列表,在pie()函数中将其赋值给colors参数即可。指定每部分颜色的“饼图”如图6所示。
图6 指定每部分颜色的“饼图”
2.3 指定强调的部分
强调“饼图”中某个部分的代码如图7所示。
图7 强调“饼图”中某个部分的代码
pie()函数的explode参数表示“饼图”各部分之间的间隔,默认值是0,强调某个部分,即将该部分的间隔设置为不为0,第5行代码定义了列表explode,该列表中第二个元素不为0,即表示该部分与其它部分的间隔为0.2,起到强调的效果,画出的“饼图”如图8所示。
图8 强调某个部分的“饼图”
2.4 显示各部分的比例及阴影效果
通过如图9所示的代码可以显示各部分的比例及阴影效果。
图9 显示各部分的比例及阴影效果的代码
其中,autopct参数指定了显示比例的格式,“.1f%”表示以“%”的方式显示,并且百分数保留一位小数;shadow参数设置为True表示各部分有阴影效果,画出的“饼图”如图10所示。
图10 显示各部分的比例及阴影效果的饼图