python绘制饼状图带圆心距_matplotlib可视化饼图
前言
pie函數參數解讀
plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False)x:指定繪圖的數據;
explode:指定餅圖某些部分的突出顯示,即呈現爆炸式;
labels:為餅圖添加標簽說明,類似于圖例說明;
colors:指定餅圖的填充色;
autopct:自動添加百分比顯示,可以采用格式化的方法顯示;
pctdistance:設置百分比標簽與圓心的距離;
shadow:是否添加餅圖的陰影效果;
labeldistance:設置各扇形標簽(圖例)與圓心的距離;
startangle:設置餅圖的初始擺放角度;
radius:設置餅圖的半徑大小;
counterclock:是否讓餅圖按逆時針順序呈現;
wedgeprops:設置餅圖內外邊界的屬性,如邊界線的粗細、顏色等;
textprops:設置餅圖中文本的屬性,如字體大小、顏色等;
center:指定餅圖的中心點位置,默認為原點
frame:是否要顯示餅圖背后的圖框,如果設置為True的話,需要同時控制圖框x軸、y軸的范圍和餅圖的中心位置;
import matplotlib.pyplot as plt
# 正常顯示中文標簽
plt.rcParams['font.sans-serif']=['SimHei']
# 用來正常顯示負號
plt.rcParams['axes.unicode_minus']=False
# 刻度大小
plt.rcParams['axes.labelsize']=16
# 線的粗細
plt.rcParams['lines.linewidth']=2
# x軸標簽大小
plt.rcParams['xtick.labelsize']=14
# y軸標簽大小
plt.rcParams['ytick.labelsize']=14
#圖例大小
plt.rcParams['legend.fontsize']=14
# 圖大小
plt.rcParams['figure.figsize']=[12,8]
繪制餅狀圖 默認橢圓
#定義餅狀圖的標簽,標簽是列表
labels =[ 'A','B','C','D']
#每個標簽占多大,會自動去算百分比
x = [15,30,45,10]
# 繪制餅圖
plt.pie(x,labels=labels)
plt.show()
繪制餅狀圖-正圓
#定義餅狀圖的標簽,標簽是列表
labels =[ 'A','B','C','D']
#每個標簽占多大,會自動去算百分比
x = [15,30,45,10]
# 繪制餅圖
plt.pie(x,labels=labels)
# 設置x,y軸刻度一致,這樣餅圖才能是圓的
plt.axis('equal')
plt.show()
繪制餅狀圖-顯示百分比
#定義餅狀圖的標簽,標簽是列表
labels =[ 'A','B','C','D']
#每個標簽占多大,會自動去算百分比
x = [15,30,45,10]
# 繪制餅圖,autopct='%.0f%%' 顯示百分比
plt.pie(x,labels=labels,autopct='%.0f%%')
# 設置x,y軸刻度一致,這樣餅圖才能是圓的
plt.axis('equal')
plt.show()
繪制餅狀圖-設置文本標簽的屬性值
#定義餅狀圖的標簽,標簽是列表
labels =[ 'A','B','C','D']
#每個標簽占多大,會自動去算百分比
x = [15,30,45,10]
# 繪制餅圖,autopct='%.0f%%' 顯示百分比
# textprops = {'fontsize':30, 'color':'k'} 大小為30,顏色為黑色
plt.pie(x,labels=labels,autopct='%.0f%%', textprops = {'fontsize':30, 'color':'k'})
# 設置x,y軸刻度一致,這樣餅圖才能是圓的
plt.axis('equal')
plt.show()
繪制餅狀圖-分離
#定義餅狀圖的標簽,標簽是列表
labels =[ 'A','B','C','D']
#每個標簽占多大,會自動去算百分比
x = [15,30,45,10]
#0.1表示將B那一塊凸顯出來
explode = (0,0.1,0,0)
# 繪制餅圖,autopct='%.0f%%' 顯示百分比
# textprops = {'fontsize':30, 'color':'k'} 大小為30,顏色為黑色
# explode=explode 將B那一塊凸顯出來
plt.pie(x,labels=labels,autopct='%.0f%%',
textprops = {'fontsize':30, 'color':'k'},explode=explode)
# 設置x,y軸刻度一致,這樣餅圖才能是圓的
plt.axis('equal')
plt.show()
繪制餅狀圖-陰影
#定義餅狀圖的標簽,標簽是列表
labels =[ 'A','B','C','D']
#每個標簽占多大,會自動去算百分比
x = [15,30,45,10]
#0.1表示將B那一塊凸顯出來
explode = (0,0.1,0,0)
# 繪制餅圖,autopct='%.0f%%' 顯示百分比
# textprops = {'fontsize':30, 'color':'k'} 大小為30,顏色為黑色
# explode=explode 將B那一塊凸顯出來
# shadow=True 顯示陰影
plt.pie(x,labels=labels,autopct='%.0f%%',
textprops = {'fontsize':30, 'color':'k'},explode=explode,shadow=True)
# 設置x,y軸刻度一致,這樣餅圖才能是圓的
plt.axis('equal')
plt.show()
繪制餅狀圖-角度
#定義餅狀圖的標簽,標簽是列表
labels =[ 'A','B','C','D']
#每個標簽占多大,會自動去算百分比
x = [15,30,45,10]
#0.1表示將B那一塊凸顯出來
explode = (0,0.1,0,0)
# 繪制餅圖,autopct='%.0f%%' 顯示百分比
# textprops = {'fontsize':30, 'color':'k'} 大小為30,顏色為黑色
# explode=explode 將B那一塊凸顯出來
# shadow=True 顯示陰影
#startangle,起始角度,0,表示從0開始逆時針轉,為第一塊。選擇從60度開始
plt.pie(x,labels=labels,autopct='%.0f%%',
textprops = {'fontsize':30, 'color':'k'},explode=explode,shadow=True,startangle=60)
# 設置x,y軸刻度一致,這樣餅圖才能是圓的
plt.axis('equal')
plt.show()
繪制餅狀圖-圓心距離
#定義餅狀圖的標簽,標簽是列表
labels =[ 'A','B','C','D']
#每個標簽占多大,會自動去算百分比
x = [15,30,45,10]
#0.1表示將B那一塊凸顯出來
explode = (0,0.1,0,0)
# 繪制餅圖,autopct='%.0f%%' 顯示百分比
# textprops = {'fontsize':30, 'color':'k'} 大小為30,顏色為黑色
# explode=explode 將B那一塊凸顯出來
# shadow=True 顯示陰影
#startangle,起始角度,0,表示從0開始逆時針轉,為第一塊。選擇從60度開始
#pctdistance,百分比的文本離圓心的距離為0.5
plt.pie(x,labels=labels,autopct='%.0f%%', textprops = {'fontsize':30, 'color':'k'},
explode=explode,shadow=True,startangle=60,pctdistance = 0.5)
# 設置x,y軸刻度一致,這樣餅圖才能是圓的
plt.axis('equal')
plt.show()
繪制餅狀圖-提示標簽
#定義餅狀圖的標簽,標簽是列表
labels =[ '十五','三十','四十五','十']
#每個標簽占多大,會自動去算百分比
x = [15,30,45,10]
#0.1表示將B那一塊凸顯出來
explode = (0,0.1,0,0)
# 繪制餅圖,autopct='%.0f%%' 顯示百分比
# textprops = {'fontsize':30, 'color':'k'} 大小為30,顏色為黑色
# explode=explode 將B那一塊凸顯出來
# shadow=True 顯示陰影
#startangle,起始角度,0,表示從0開始逆時針轉,為第一塊。選擇從60度開始
#pctdistance,百分比的文本離圓心的距離為0.5
plt.pie(x,labels=labels,autopct='%.0f%%', textprops = {'fontsize':30, 'color':'k'},
explode=explode,shadow=True,startangle=60,pctdistance = 0.5)
# 設置x,y軸刻度一致,這樣餅圖才能是圓的
plt.axis('equal')
plt.show()
案例:芝麻信用失信用戶分析關于pie函數的參數我們講了,接下來通過案例,來繪制一個個性化的餅圖。關于繪圖數據,我們借用芝麻信用近300萬失信人群的樣本統計數據,該數據顯示,從受教育水平上來看,中專占比25.15%,大專占比37.24%,本科占比33.36%,碩士占比3.68%,剩余的其他學歷占比0.57%。對于這樣一組數據,我們該如何使用餅圖來呈現呢?
import matplotlib.pyplot as plt
# 設置繪圖的主題風格
plt.style.use('ggplot')
# 中文亂碼和坐標軸負號的處理
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['figure.figsize']=[12,12]
# 構造數據
x = [0.2515,0.3724,0.3336,0.0368,0.0057]
# 提示標簽
labels = ['中專','大專','本科','碩士','其他']
# 用于突出顯示大專學歷人群
explode = [0,0.1,0,0,0]
# 自定義顏色
colors=['#9F79EE','#4876FF','#EE9A00','#EE4000','#FFD700']
# 將橫、縱坐標軸標準化處理,保證餅圖是一個正圓,否則為橢圓
plt.axes(aspect='equal')
# 控制x軸和y軸的范圍
plt.xlim(0,4)
plt.ylim(0,4)
# 繪圖數據
plt.pie(x, # 繪圖數據
explode=explode, # 突出顯示大專人群
autopct='%1.1f%%', # 設置百分比的格式,這里保留一位小數
pctdistance=0.6, # 設置百分比標簽與圓心的距離
labeldistance=1.2, # 設置教育水平標簽與圓心的距離
startangle = 180, # 設置餅圖的初始角度
radius = 1.5, # 設置餅圖的半徑
counterclock = False,
wedgeprops = {'linewidth': 1.5, 'edgecolor':'green'},# 餅圖內外邊界的屬性值
textprops = {'fontsize':16, 'color':'k'}, # 設置文本標簽的屬性值
center = (2,2), # 設置餅圖的原點
frame = 1, # 是否顯示餅圖的圖框,這里設置顯示
labels=labels, # 添加教育水平標簽
colors=colors # 設置餅圖的自定義填充色
)
# 刪除x軸和y軸的刻度
plt.xticks(())
plt.yticks(())
# 添加圖標題
plt.title('芝麻信用失信用戶教育水平分布')
plt.show()
matplotlib可視化餅圖?github.com
總結
以上是生活随笔為你收集整理的python绘制饼状图带圆心距_matplotlib可视化饼图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3字典升序排序_Python
- 下一篇: 判断非负整数是否是3的倍数_六年级小升初