最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?Matplotlib繪制扇形圖標簽重疊問題解決過程

 更新時間:2022年08月03日 08:49:29   作者:老Amy  
在使用Matplotlib畫圖時,常會遇到標簽重疊問題的時候,所以下面這篇文章主要給大家介紹了關于Python?Matplotlib繪制扇形圖標簽重疊問題的解決過程,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

問題如下

當我使用Matplotlib繪制圖形時,經常會遇到一些比例太小導致 百分比標簽 以及 文本標簽 重疊問題。這樣的話非常影響美觀,效果在BOSS心中的大打折扣。

代碼如下:

from matplotlib import pyplot as plt

frac = [0,0,18/50,16/50,9/50,6/50,2/50]
label = ['[3,4]','(4,5]','(5,6]','(6,7]','(7,8]','(8,9]','(9,10]']
plt.pie(frac,labels=label,autopct="%.2f%%",textprops={"size":10},shadow=True)
plt.show()

解決

老Amy不甘示弱,遇到問題就是肝!首先,我們解決的思路是,使得重疊標簽中,一個進行向上挪動一丟丟即可。

那問題是代碼怎么來實現呢?

首先,我們需要了解到,plt.pie()有多個返回值,參考官網如下:

oh no,那有的朋友會說全英文的誰知道在巴巴啥,于是翻譯過來如下:

  • patches 繪制餅圖每一塊的對象
  • texts 文本的列表
  • autotexts 百分比的文本列表

或者打印出來如下:

這樣我們就明白了。所以第二步,我們需要考慮的是:如何取出我們需要的 文本對象百分比對象 去設置距離。

了解到每個返回的數據類型實際上是 list 列表,而列表里面的每個元素就是圖形中每個文本的對象。

所以,此時我們通過循環(huán)將重疊的元素取出來,而又因為構建繪圖數據中,是索引為0索引為1兩個元素為0導致重疊。所以我們獲取其中一個即可。

代碼如下:

from matplotlib import pyplot as plt

frac = [0,0,18/50,16/50,9/50,6/50,2/50]
label = ['[3,4]','(4,5]','(5,6]','(6,7]','(7,8]','(8,9]','(9,10]']

patches,texts,autotexts = plt.pie(frac,labels=label,autopct="%.2f%%",textprops={"size":10},shadow=True)

for i in range(len(autotexts)):
    if i == 0:
        print(texts[i])
        print(autotexts[i])

plt.show()

那問題是,我們怎么去設置它的位置呢?因為matplotlib關于設置的方法非常多,而我們并不主張記憶,更加主張時用時查。所以這個時候就需要借助我們的官網了。

查官網的第一步是需要知道,該數據是什么類型的對象,則使用type()輸出其類型。

print(type(texts[i]))
print(type(autotexts[i]))

然后我們就去官網搜索matplotlib.text.Text,定位:

ohohoh,至于這些英文就需要大家自己去看了,你懂的吧!所以接下來,我們來寫代碼解決我們的問題:

from matplotlib import pyplot as plt

frac = [0,0,18/50,16/50,9/50,6/50,2/50]
label = ['[3,4]','(4,5]','(5,6]','(6,7]','(7,8]','(8,9]','(9,10]']

patches,texts,autotexts = plt.pie(frac,labels=label,autopct="%.2f%%",textprops={"size":10},shadow=True)

for i in range(len(autotexts)):
    if i == 0:
        print(texts[i].set_y(0.1))
        print(autotexts[i].set_y(0.1))

plt.show()

總結 

到此這篇關于Python Matplotlib繪制扇形圖標簽重疊問題解決的文章就介紹到這了,更多相關Matplotlib繪制扇形圖標簽重疊內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python?函數參數11個案例分享

    Python?函數參數11個案例分享

    大家好,今天給大家分享一下明哥整理的一篇?Python?參數的內容,內容非常的干,全文通過案例的形式來理解知識點,自認為比網上?80%?的文章講的都要明白,如果你是入門不久的?python?新手,相信本篇文章應該對你會有不小的幫助,需要的朋友可以參考下
    2023-02-02
  • Python??reduce()函數的用法示例代碼

    Python??reduce()函數的用法示例代碼

    reduce函數原本在python2中也是個內置函數,不過在python3中被移到functools模塊中,這篇文章主要介紹了Python reduce()函數的用法,需要的朋友可以參考下
    2023-05-05
  • Python基類函數的重載與調用實例分析

    Python基類函數的重載與調用實例分析

    這篇文章主要介紹了Python基類函數的重載與調用方法,實例分析了Python中基類函數的重載及調用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • pandas實現對一列/多列進行數據區(qū)間篩選

    pandas實現對一列/多列進行數據區(qū)間篩選

    這篇文章主要介紹了pandas實現對一列/多列進行數據區(qū)間篩選方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python實現解析參數的三種方法詳解

    Python實現解析參數的三種方法詳解

    這篇文章主要介紹了python解析參數的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-07-07
  • 一文帶你深入了解Python中的多進程編程

    一文帶你深入了解Python中的多進程編程

    在?Python?中,多進程編程是一種提高程序運行效率的有效手段,本文將詳細講解?Python?多進程編程的基本概念,使用方法及注意事項,希望對大家有所幫助
    2024-12-12
  • Python運行時修改業(yè)務SQL代碼

    Python運行時修改業(yè)務SQL代碼

    這篇文章主要介紹了Python運行時修改業(yè)務SQL代碼,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • python str字符串轉uuid實例

    python str字符串轉uuid實例

    這篇文章主要介紹了python str字符串轉uuid實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 基于python框架Scrapy爬取自己的博客內容過程詳解

    基于python框架Scrapy爬取自己的博客內容過程詳解

    這篇文章主要介紹了基于python框架Scrapy爬取自己的博客內容過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 在Django的通用視圖中處理Context的方法

    在Django的通用視圖中處理Context的方法

    這篇文章主要介紹了在Django的通用視圖中處理Context的方法,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下
    2015-07-07

最新評論

桑植县| 资兴市| 宁阳县| 余江县| 营口市| 梓潼县| 萝北县| 夏河县| 西华县| 聂拉木县| 长汀县| 盐池县| 铅山县| 延川县| 柳林县| 沅陵县| 肥乡县| 武川县| 天祝| 拉孜县| 曲麻莱县| 藁城市| 桐梓县| 博爱县| 许昌县| 深泽县| 谢通门县| 英德市| 孙吴县| 土默特右旗| 博湖县| 天门市| 塔河县| 临桂县| 紫云| 文山县| 蕲春县| 通州区| 栖霞市| 金秀| 五河县|