# -*-coding:utf-8-*-
from pylab import *
import matplotlib.pyplot as plot

mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
def chat():
    # plot.figure(figsize=(8,8))

    labels = [u'莆田系医院', u'医院医生', u'中国社会',u'百度']
    sizes = [16, 24, 27,33]
    colors = ['red', 'yellow', 'blue','green']

    explode = (0, 0, 0,0.05)

    patches, l_text, p_text = plot.pie(sizes, explode=explode, labels=labels, colors=colors,
                                       labeldistance=1.1, autopct='%2.0f%%', 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 =100
    for t in p_text:
        t.set_size = (60)
    # 设置x，y轴刻度一致，这样饼图才能是圆的
    plot.axis('equal')
    plt.rc("font",size=15)
    plot.legend(loc='upper left', bbox_to_anchor=(-0.1, 1))
    # loc: 表示legend的位置，包括'upper right','upper left','lower right','lower left'等
    # bbox_to_anchor: 表示legend距离图形之间的距离，当出现图形与legend重叠时，可使用bbox_to_anchor进行调整legend的位置
    # 由两个参数决定，第一个参数为legend距离左边的距离，第二个参数为距离下面的距离
    plot.grid()
    plot.show()

if __name__ == '__main__':
    chat()