python 餅狀圖


https://www.cnblogs.com/liming19680104/p/10614132.html
import pandas as pd
import numpy as np
import 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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM