Matplotlib绘制饼图

饼图能清晰明了的展示出各部分所占的百分比,在Python中我们可以使用pyplot中的pie()方法来绘制饼图。首先,pie()格式如下:

matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, rotatelabels=False, *, normalize=None, data=None)

参数说明如下:

x:浮点型数组,表示每个扇形所占面积。

explode:数组,表示各个扇形之间的间隔,其默认值为0。

labels:列表,各个扇形的标签,默认值为 None。

colors:数组,表示各个扇形的颜色,默认值为 None。

autopct:设置饼图内各个扇形百分比显示格式,%d%% 整数百分比,%0.1f 一位小数, %0.1f%% 一位小数百分比, %0.2f%% 两位小数百分比。

labeldistance:标签标记的绘制位置,相对于半径的比例,默认值为 1.1,如 <1则绘制在饼图内侧。

pctdistance::类似于 labeldistance,指定 autopct 的位置刻度,默认值为 0.6。

shadow::布尔值 True 或 False,设置饼图的阴影,默认为 False,不设置阴影。

radius::设置饼图的半径,默认为 1。

startangle::起始绘制饼图的角度,默认为从 x 轴正方向逆时针画起,如设定 =90 则从 y 轴正方向画起。

counterclock:布尔值,设置指针方向,默认为 True,即逆时针,False 为顺时针。

wedgeprops :字典类型,默认值 None。参数字典传递给 wedge 对象用来画一个饼图。例如:wedgeprops={'linewidth':5} 设置 wedge 线宽为5。

textprops :字典类型,默认值为:None。传递给 text 对象的字典参数,用于设置标签(labels)和比例文字的格式。

center :浮点类型的列表,默认值:(0,0)。用于设置图标中心位置。

frame :布尔类型,默认值:False。如果是 True,绘制带有表的轴框架。

rotatelabels :布尔类型,默认为 False。如果为 True,旋转每个 label 到指定的角度。

例:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([40, 25, 25, 10])
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 解决中文乱码问题
plt.pie(x,
        labels=['C++', 'Java', 'Python', 'C'],  # 设置饼图标签
        colors=["darkred", "darkblue", "green", "orange"],  # 设置饼图颜色
        explode=(0.2, 0, 0, 0),  # 第一部分突出显示,值越大,距离中心越远,默认从x轴正方形逆时针为第一部分。
        autopct='%.2f%%',  # 格式化输出百分比 小数点后两位
       )
plt.title("学生选课分布饼图")
plt.show()
Matplotlib绘制饼图_第1张图片

你可能感兴趣的:(python可视化,python,matplotlib)