制作数组x的饼图。每个楔形的分数面积由x / sum(x)给出。如果sum(x)<1,那么x的值直接给出小数区域,并且数组将不被标准化。结果饼将有一个大小为1的空楔 - sum(x)。
import matplotlib.pyplot as plt
plt.pie()
pie函数:
def pie(
x, explode=None, labels=None, colors=None, autopct=None,
pctdistance=0.6, shadow=False, labeldistance=1.1,
startangle=None, radius=None, counterclock=True,
wedgeprops=None, textprops=None, center=(0, 0), frame=False,
rotatelabels=False, *, data=None):
return gca().pie(
x, explode=explode, labels=labels, colors=colors,
autopct=autopct, pctdistance=pctdistance, shadow=shadow,
labeldistance=labeldistance, startangle=startangle,
radius=radius, counterclock=counterclock,
wedgeprops=wedgeprops, textprops=textprops, center=center,
frame=frame, rotatelabels=rotatelabels, **({"data": data} if
data is not None else {}))
x:类似于数组
楔形尺寸。
explode:array-like,optional,默认值:None
如果不是None,则是len(x)数组,它指定用于偏移每个楔形的半径的分数。
labels:list,optional,default:None
一系列字符串,为每个楔形提供标签
colors:array-like,optional,默认值:None
一系列matplotlib颜色args,饼图将通过它循环。如果为None,将使用当前活动周期中的颜色。
autopct:无(默认),字符串或函数,可选
如果不是None,则是用于用其数值标记楔形的字符串或函数。标签将放在楔子内。如果是格式字符串,则标签为fmt%pct。如果它是一个函数,它将被调用。
pctdistance:float,optional,默认值:0.6
每个饼图切片的中心与autopct生成的文本的开头之间的比率。如果autopct为None,则忽略。
shadow:bool,可选,默认值:False
在馅饼下画一个阴影。
labeldistance:float或None,可选,默认值:1.1
绘制饼图标签的径向距离。如果设置为None,则不绘制标签,但存储以在legend()中使用
startangle:float,optional,默认值:None
如果不是None,则将饼图的起点从x轴逆时针旋转角度。
radius:float,optional,默认值:None
饼图的半径,如果半径为None,则将其设置为1。
counterclock:bool,可选,默认值:True
指定分数方向,顺时针或逆时针。
wedgeprops:dict,optional,默认值:无
参数的Dict传递给制作馅饼的楔形物体。例如,您可以传入wedgeprops = {‘linewidth’:3}来设置楔形边界线的宽度等于3.有关更多详细信息,请查看wedge对象的doc / arguments。默认情况下clip_on = False。
textprops:dict,optional,默认值:无
传递给文本对象的参数的字典。
center:float列表,可选,默认值:(0,0)
图表的中心位置。取值(0,0)或是2个标量的序列。
frame:bool,optional,默认值:False
如果为真,则绘制轴与图表的框架。
rotatelabels:bool,optional,默认值:False
如果为true,则将每个标签旋转到相应切片的角度。
patches:列表
一系列matplotlib.patches.Wedge实例
texts:列表
标签matplotlib.text.Text实例的列表。
autotexts:列表
数字标签的文本实例列表。仅当参数autopct不是None时才会返回。
# _*_coding:utf-8_*_
import matplotlib.pyplot as plt
import matplotlib as mpl
plt.rcParams["font.sans-serif"] = ["SimHei"]
sizes = [545, 454, 425, 256, 789, 356]
labels = ["百度", "网易", "搜狐", "腾讯", "阿里", "头条"]
explode = [0.06, 0.06, 0.06, 0.06, 0.06, 0.06]
plt.pie(sizes, explode=explode, labels=labels, shadow=True, autopct="%1.2f%%")
plt.axis = "equal"
plt.legend()
plt.show()