import pandas as pdimport numpy as npimport matplotlib.pyplot as plt#解決能顯示中文plt.rcParams['font.sans-serif']=['SimHei'] #指定默認字體 SimHei爲黑體plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號plt.title("圖標題",fontsize=24) #圖的標題plt.xlabel("x軸標題")plt.ylabel("y軸標題")label = '超載', '船員責任心不強', '船員駕駛技術太差', '通航環境差', '海事、港航監管不到位', '船舶過於老舊', '冒險航行' # 各種別標籤color = 'red', 'orange', 'yellow', 'green', 'blue', 'gray', 'goldenrod' # 各種別顏色size = [34, 5, 6, 14, 1, 10, 23] # 各種別佔比plt.axes(aspect=1) #設置x軸與y軸的比例1:1 ????ex=[0,0.2,0,0,0,0,0] #設置突出的數據,數據表示離開中心點的距離pie=plt.pie(x=size,labels=label,autopct='%1.1f%%',explode=ex,shadow=True, colors=color,pctdistance = 0.5) #畫餅狀圖#x 就是數據,餅狀圖就是根據這些數據來計算百分比的#labels 標籤#autopct 在餅狀圖中顯示出百分比#pctdistance 百分比離中心點的距離#explode 設置各部分離開中心點的距離#shadow=True 加上陰影#colors 設置各部分顯示的顏色for font in pie[1]: font.set_size(8) #設置標籤字體大小for digit in pie[2]: digit.set_size(20) #設置 百分比字體的大小plt.legend(loc='upper right',bbox_to_anchor=(1.2, 1)) #顯示圖例# loc: 表示位置,包括'upper right','upper left','lower right','lower left'等# bbox_to_anchor: 表示legend距離圖形之間的距離,當出現圖形與legend重疊時,可以使用bbox_to_anchor進行調整legend的位置# 由兩個參數決定,第一個參數爲legend距離左邊的距離,第二個參數爲距離下面的距離#'upper right'=1;'upper left'=2;'lower left'=3;'lower right'=4; 0 自適應找位置#ncol 圖例的列數plt.show()