matplotlib基础绘图命令之pie
歡迎關(guān)注”生信修煉手冊”!
在matplotlib中,pie方法用于繪制餅圖,基本用法如下
plt.pie(x=[1, 2, 3, 4])輸出的結(jié)果如下
這樣的餅圖并沒有任何實用價值,為了有效的展示信息,至少我們還需要顯示數(shù)據(jù)的標(biāo)簽和百分比的數(shù)值。此時就需要調(diào)整參數(shù),pie方法常用的參數(shù)有以下幾個
1. labels,?設(shè)置餅圖中每部分的標(biāo)簽
2. autopct,?設(shè)置百分比信息的字符串格式化方式,默認(rèn)值為None,不顯示百分比
3. shadow,?設(shè)置餅圖的陰影,使得看上去有立體感,默認(rèn)值為False
4. startangle,?餅圖中第一個部分的起始角度,
5. radius,?餅圖的半徑,數(shù)值越大,餅圖越大
6. counterclock,?設(shè)置餅圖的方向,默認(rèn)為True,表示逆時針方向,值為False時為順時針方向
7. colors,調(diào)色盤,默認(rèn)值為None,?會使用默認(rèn)的調(diào)色盤,所以通常情況下,不需要設(shè)置該參數(shù)
8. explode,?該參數(shù)用于突出顯示餅圖中的指定部分
下面來具體看下其中幾個參數(shù)的用法
1. labels
labels指定每個部分的標(biāo)簽,用法如下
plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'])輸出結(jié)果如下
2. autopct
autopct設(shè)置餅圖上的標(biāo)記信息,有兩種設(shè)置方式,第一種,設(shè)置字符串格式化,用法如下
plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct='%.1f%%')輸出結(jié)果如下
第二種,用函數(shù)來進(jìn)行設(shè)置,用法如下
data=[1,2,3,4] plt.pie(x=data, labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct=lambda pct:'({:.1f}%)\n{:d}'.format(pct, int(pct/100?* sum(data))))輸出結(jié)果如下
3.? explode
explode用于突出線似乎餅圖中的子集,用間隔突出的方式進(jìn)行顯示,用法如下
plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct='%1.1f%%', explode = [0, 0, 0.05, 0])輸出結(jié)果如下
4. startangle
startangle指定起始角度,用法如下
plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct='%1.1f%%',startangle=90)輸出結(jié)果如下
5. countercolock
countercolock用于調(diào)整餅圖的方向,用法如下
plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct='%1.1f%%',counterclock=False)輸出結(jié)果如下
6. radius
radius用于設(shè)置餅圖的半徑,半徑越大,餅圖越大,用法如下
plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct='%1.1f%%',radius=1.5)輸出結(jié)果如下
對于餅圖而言,有一個非?,F(xiàn)實的問題,就是圖例的設(shè)置,在單張圖片中,餅圖的內(nèi)容總是匯合圖例重疊,示意如下
為了將圖例和內(nèi)容有效的區(qū)分開來,可以通過設(shè)置legend方法的bbox_to_anchor參數(shù),該參數(shù)用于設(shè)置圖例區(qū)域在figure上的坐標(biāo),其值為4個元素的元組,分別表示x,y,width,height, 代碼如下
data=[1,2,3,4] labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'] plt.pie(x=data, labels=labels, autopct=lambda pct:'({:.1f}%)\n{:d}'.format(pct, int(pct/100?* sum(data)))) plt.legend(labels,loc="upper left",bbox_to_anchor=(1.2, 0, 0.5, 1))x的值大于1,表示圖例的位置位于axes右側(cè)區(qū)域,x的值越大,圖例和餅圖之間的空隙越大,上述代碼的輸出效果如下
餅圖作為常用圖表之一,在展示百分比信息時,有不可替代的優(yōu)勢。matplotlib中的pie函數(shù)在傳統(tǒng)餅圖的基礎(chǔ)上,添加了突出展示的功能,進(jìn)一步加強了餅圖的可視化效果。
·end·
—如果喜歡,快分享給你的朋友們吧—
原創(chuàng)不易,歡迎收藏,點贊,轉(zhuǎn)發(fā)!生信知識浩瀚如海,在生信學(xué)習(xí)的道路上,讓我們一起并肩作戰(zhàn)!
本公眾號深耕耘生信領(lǐng)域多年,具有豐富的數(shù)據(jù)分析經(jīng)驗,致力于提供真正有價值的數(shù)據(jù)分析服務(wù),擅長個性化分析,歡迎有需要的老師和同學(xué)前來咨詢。
? 更多精彩
KEGG數(shù)據(jù)庫,除了pathway你還知道哪些
全網(wǎng)最完整的circos中文教程
DNA甲基化數(shù)據(jù)分析專題
突變檢測數(shù)據(jù)分析專題
mRNA數(shù)據(jù)分析專題
lncRNA數(shù)據(jù)分析專題
circRNA數(shù)據(jù)分析專題
miRNA數(shù)據(jù)分析專題
單細(xì)胞轉(zhuǎn)錄組數(shù)據(jù)分析專題
chip_seq數(shù)據(jù)分析專題
Hi-C數(shù)據(jù)分析專題
HLA數(shù)據(jù)分析專題
TCGA腫瘤數(shù)據(jù)分析專題
基因組組裝數(shù)據(jù)分析專題
CNV數(shù)據(jù)分析專題
GWAS數(shù)據(jù)分析專題
2018年推文合集
2019年推文合集
? 寫在最后
轉(zhuǎn)發(fā)本文至朋友圈,后臺私信截圖即可加入生信交流群,和小伙伴一起學(xué)習(xí)交流。
掃描下方二維碼,關(guān)注我們,解鎖更多精彩內(nèi)容!
一個只分享干貨的
生信公眾號
總結(jié)
以上是生活随笔為你收集整理的matplotlib基础绘图命令之pie的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT命令行编译时出现'mingw32-m
- 下一篇: UVa1594