1. 程式人生 > 實用技巧 >python使用matplotlib繪製餅圖

python使用matplotlib繪製餅圖

python使用matplotlib繪製餅圖

製作人:全心全意

示例程式碼如下:

#!/usr/bin/python
#-*- coding: utf-8 -*-

import matplotlib
import matplotlib.pyplot as plt

def bingtu(name,count):
    #啟用中文
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']
    #設定圖大小
    plt.figure(figsize=(8, 5), dpi=100)

    # 通過pie
    #每個扇形圖離圓心的距離
    explode = (0.05, 0, 0,0,0,0,0,0,0,0)
    color = ('b','r','magenta','y','lime','m','yellow','pink','c','g')
    #count為次數,name為次數對應名稱
    patches,l_text,p_text =plt.pie(count, labels=name, autopct='%1.2f%%', colors=color,explode=explode)
    #設定扇形外文字的大小
    for t in l_text:
        t.set_size(12)
    #設定百分比文字的大小
    for t in p_text:
        t.set_size(9)

    # 指定顯示的pie是正圓
    plt.axis('equal')

    #對圖例進行設定
    plt.legend(loc='lower right',bbox_to_anchor=(1.1, -0.1),markerscale=0.5)

    #對標題進行設定
    plt.title("資料量來源佔比排名",fontdict={'weight':'normal','size': 13},y=-0.1)

    #plt.show()
    return plt

name = ['微信', '今日頭條', '懂車帝', '新浪微博', '搜狐新聞', '一點資訊', '看點快報', '騰訊網', '網易號', '其他']
cunt = [187, 139, 126, 88, 75, 28, 25, 23, 22, 387]
bingtu(name,cunt)