哈喽,大家好,今天给大家介绍一下如何通过matplotlib库绘制饼状图,我们通过一个案例完成如下的展示结果:

1.导入数据

首先将我们准备的一组数据,通过pandas导入进来,代码如下:

import pandas as pd

df=pd.read_excel('成绩表.xlsx')

2.中文标签正常显示

为了让我们的坐标轴标签中的中文能够正常显示,我们需要做如下设置:

from matplotlib.font_manager import FontProperties

plt.rcParams['font.sans-serif'] = ['Songti SC']

3.开始制作饼状图

主要格式如下:

plt.pie(x,labels=,colors)

1)x:代表着绘图的数据,我们想要绘制一个语文成绩各人所占的比例,因此在这个例子中,x表示语文成绩:

x=df.语文

2)labels:代表着每块图形中的文字标签。在例中就是姓名:

labels=df.姓名

3)colors:通过这个标签我们可以以列表的形式设置每块的颜色:

colors=['r','g','b']

4)最终代码如下:

plt.pie(x=df.语文,labels=df.姓名,colors=['r','g','b'])

plt.show()

最终显示结果如下:

matplotlib绘制折线图的步骤:如何通过matplotlib库绘制饼状图(1)

5)设置分离饼状图:

如果我们想要分离饼状图,可以通过设置explode参数来设置偏移的距离,默认数值为0,数值越大偏移越大,如果数值为负数,则代表向内偏移,比如我们想要设置猪八戒这块图偏移出去,做如下设置:

plt.pie(x=df.语文,labels=df.姓名,colors=['r','g','b'],

explode=(0,0.3,0))

matplotlib绘制折线图的步骤:如何通过matplotlib库绘制饼状图(2)

6)设置图例

ncol代表着图例的显示列数,我们一行显示,因此ncol=3;bbox_to_anchor代表着距离x和y轴的距离:

plt.legend(bbox_to_anchor=(0.3,1),ncol=3,borderaxespad=1)

matplotlib绘制折线图的步骤:如何通过matplotlib库绘制饼状图(3)

7)显示小数点后一位的百分比:

plt.pie(x=df.语文,labels=df.姓名,colors=['r','g','b'],

explode=(0,0.3,0),autopct='%.1f%%')

matplotlib绘制折线图的步骤:如何通过matplotlib库绘制饼状图(4)

8)绘制3d图:

plt.pie(x=df.语文,labels=df.姓名,colors=['r','g','b'],explode=(0,0.3,0),

autopct='%.1f%%',shadow =True)

matplotlib绘制折线图的步骤:如何通过matplotlib库绘制饼状图(5)

好了今天的内容就先到这里了,明天见!

,