Matplotlib 繪制餅圖解決文字重疊的方法
在使用Matplotlib 繪制餅圖的時候有些時候一些數據的比列太小在餅圖呈現的效果不明顯 很容易被覆蓋,為了解決這個問題以下就是我個人的心得。
【未解決之前呈現的效果】
可以看到這個餅狀圖其他和碩士這2個部分占比很小而且比例相互覆蓋,這讓人看起來不舒服,所以針對這個問題我們可以調整下字體大小以及布局大小。
1.設置字體的大小
patches,l_text,p_text=plt.pie(values, spaces, labels, colors, '%.1f%%', shadow=True, radius=1, startangle=90) # l_text是餅圖對著文字大小,p_text是餅圖內文字大小 for t in p_text: t.set_size(5) for t in l_text: t.set_size(6)
2.防止標簽重疊,可以將窗口設置的大一些
# 防止標簽重疊,可以將窗口設置的大一些 plt.figure(figsize=(20, 6.5))
【源代碼】
import matplotlib.pyplot as plt # 解決亂碼 plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標簽 plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號 # 值列表 values = [0.2515,0.3724,0.3336,0.0368,0.0057] # 扇形之間的間距:設置為0就是各部分挨在一起,如果設置不為0就是突顯該部分 spaces = [0, 0, 0, 0, 0] # 標簽列表 labels = ['中專','大專','本科','碩士','其他'] # 顏色列表 colors = ['dodgerblue', 'orangered', 'limegreen', 'cyan', 'gold'] # 防止標簽重疊,可以將窗口設置的大一些 plt.figure(figsize=(20, 6.5)) # 將橫、縱坐標軸標準化處理,保證餅圖是一個正圓,否則為橢圓 plt.axis('equal') # 繪圖 patches,l_text,p_text=plt.pie(values, spaces, labels, colors, '%.1f%%', shadow=True, radius=1, startangle=90) # 給圖像加上圖例 plt.legend(loc='upper left') # 設置餅圖內文字大小 for t in p_text: t.set_size(6) for t in l_text: t.set_size(9) # 顯示 plt.show()
【新效果】
到此這篇關于Matplotlib 繪制餅圖解決文字重疊的方法的文章就介紹到這了,更多相關Matplotlib 餅圖文字重疊內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python利用multiprocessing實現最簡單的分布式作業(yè)調度系統(tǒng)實例
這篇文章主要給大家介紹了關于Python利用multiprocessing如何實現最簡單的分布式作業(yè)調度系統(tǒng)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-11-11Python并行編程多線程鎖機制Lock與RLock實現線程同步
這篇文章主要為大家介紹了Python并行編程多線程鎖機制Lock與RLock實現線程同步示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07python3模擬百度登錄并實現百度貼吧簽到示例分享(百度貼吧自動簽到)
這篇文章主要介紹了python3模擬百度登錄并實現百度貼吧簽到示例,需要的朋友可以參考下2014-02-02