matplotlib绘制饼状图
pyplot使用plt.pie()来绘制饼图
1 import matplotlib.pyplot as plt 2 labels = 'frogs', 'hogs', 'dogs', 'logs' 3 sizes = 15, 20, 45, 10 # [15,20,45,10]也可,按比例计算总90,45占50% 4 colors = 'yellowgreen', 'gold', 'lightskyblue', 'lightcoral' 5 explode = 0, 0.1, 0, 0 #0.1表示将Hogs那一块凸显出来 6 plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=50) #startangle表示饼图的起始角度 7 plt.axis('equal') #让饼图显示为一个长宽相等的饼图 8 plt.show()
from matplotlib import pyplot as plt #调节图形大小,宽,高 plt.figure(figsize=(6,9)) #定义饼状图的标签,标签是列表 labels = [u'第一部分',u'第二部分',u'第三部分'] #每个标签占多大,会自动去算百分比 sizes = [60,30,10] colors = ['red','yellowgreen','lightskyblue'] #将某部分爆炸出来, 使用括号,将第一块分割出来,数值的大小是分割出来的与其他两块的间隙 explode = (0.05,0,0) patches,l_text,p_text = plt.pie(sizes,explode=explode,labels=labels,colors=colors, labeldistance = 1.1,autopct = '%3.1f%%',shadow = False, startangle = 90,pctdistance = 0.6) #labeldistance,文本的位置离圆点有多远,1.1指1.1倍半径的位置 #autopct,圆里面的文本格式,%3.1f%%表示小数有三位,整数有一位的浮点数 #shadow,饼是否有阴影 #startangle,起始角度,0,表示从0开始逆时针转,为第一块。一般选择从90度开始比较好看 #pctdistance,百分比的text离圆心的距离 #patches, l_texts, p_texts,为了得到饼图的返回值,p_texts饼图的内部文本,l_texts饼图外label的文本 #改变文本的大小 #方法是把每一个text遍历。调用set_size方法设置它的属性 for t in l_text: t.set_size=(30) for t in p_text: t.set_size=(20) # 设置x,y轴刻度一致,这样饼图才能是圆的 plt.axis('equal') plt.legend() plt.show() 作者:Kedi 链接:https://www.jianshu.com/p/0a76c94e9db7 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。