欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python matplotlib畫圖時圖例說明(legend)放到圖像外側(cè)詳解

 更新時間:2020年05月16日 11:10:02   作者:Poul_henry  
這篇文章主要介紹了Python matplotlib畫圖時圖例說明(legend)放到圖像外側(cè)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

用python的matplotlib畫圖時,往往需要加圖例說明。如果不設(shè)置任何參數(shù),默認(rèn)是加到圖像的內(nèi)側(cè)的最佳位置。

import matplotlib.pyplot as plt
import numpy as np
 
x = np.arange(10)
 
fig = plt.figure()
ax = plt.subplot(111)
 
for i in xrange(5):
 ax.plot(x, i * x, label='$y = %ix$' % i)
 
plt.legend()
 
plt.show()

這樣的結(jié)果如圖所示:

如果需要將該legend移到圖像外側(cè),有多種方法,這里介紹一種。

在plt.legend()函數(shù)中加入若干參數(shù):

plt.legend(bbox_to_anchor=(num1, num2), loc=num3, borderaxespad=num4)

bbox_to_anchor(num1,num2)表示legend的位置和圖像的位置關(guān)系,num1表示水平位置,num2表示垂直位置。num1=0表示legend位于圖像的左側(cè)垂直線(這里的其它參數(shù)設(shè)置:num2=0,num3=3,num4=0)。

num1=1表示legend位于圖像的右側(cè)垂直線(其它參數(shù)設(shè)置:num2=0,num3=3,num4=0)。

為了美觀,需要將legend放于圖像的外側(cè),而又距離不是太大,一般設(shè)num1=1.05。

num2=0表示legend位于圖像下側(cè)水平線(其它參數(shù)設(shè)置:num1=1.05,num3=3,num4=0)。

num2=1表示legend位于圖像上側(cè)水平線(其它參數(shù)設(shè)置:num1=1.05,num3=3,num4=0)。

所以,如果希望legend位于圖像的右下,需要將num2設(shè)為0,位于圖像的右上,需要將num2設(shè)為1。

由于legend是一個方框,bbox_to_anchor=(num1, num2)相當(dāng)于表示一個點,那么legend的哪個位置位于這個點上呢。參數(shù)num3就用以表示哪個位置位于該點。

loc參數(shù)對應(yīng)
Location String Location Code
'best' 0
'upper right' 1
'upper left' 2
'lower left' 3
'lower right' 4
'right' 5
'center left' 6
'center right' 7
'lower center' 8
'upper center' 9
'center' 10

所以,當(dāng)設(shè)bbox_to_anchor=(1.05,0),即legend放于圖像右下角時,為美觀起見,需要將legend的左下角,即'lower left'放置該點,對應(yīng)該表的‘Location Code'數(shù)字為3,即參數(shù)num3置為3或直接設(shè)為‘lower left';而當(dāng)設(shè)bbox_to_anchor=(1.05,1),即legend放于圖像右上角時,為美觀起見,需要將legend的左上角,即'upper left'放置該點,對應(yīng)該表的‘Location Code'數(shù)字為2,即參數(shù)num3置為2或直接設(shè)為‘upper left'。

根據(jù)參考網(wǎng)址上的解釋,參數(shù)num4表示軸和legend之間的填充,以字體大小距離測量,默認(rèn)值為None,但實際操作中,如果不加該參數(shù),效果是有一定的填充,下面有例圖展示,我這里設(shè)為0,即取消填充,具體看個人選擇。

這是將legend放于圖像右下的完整代碼:

import matplotlib.pyplot as plt
import numpy as np
 
x = np.arange(10)
 
fig = plt.figure()
ax = plt.subplot(111)
 
for i in xrange(5):
 ax.plot(x, i * x, label='$y = %ix$' % i)
 
plt.legend(bbox_to_anchor=(1.05, 0), loc=3, borderaxespad=0)
 
plt.show()

效果展示:

這里legend的‘lower left'置于(1.05, 0)的位置。

如果不加入?yún)?shù)num4,那么效果為:

legend稍靠上,有一定的填充。

這是將legend放于圖像右上的完整代碼:

import matplotlib.pyplot as plt
import numpy as np
 
x = np.arange(10)
 
fig = plt.figure()
ax = plt.subplot(111)
 
for i in xrange(5):
 ax.plot(x, i * x, label='$y = %ix$' % i)
 
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0)
 
plt.show()

效果展示:

這里legend的‘upper left'置于(1.05, 0)的位置。

如果不加入?yún)?shù)num4,那么效果為:

legend稍靠下。

以上這篇Python matplotlib畫圖時圖例說明(legend)放到圖像外側(cè)詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python手拉手教你爬取貝殼房源數(shù)據(jù)的實戰(zhàn)教程

    Python手拉手教你爬取貝殼房源數(shù)據(jù)的實戰(zhàn)教程

    隨著人工智能的不斷發(fā)展,機器學(xué)習(xí)這門技術(shù)也越來越重要,很多人都開啟了學(xué)習(xí)機器學(xué)習(xí),本文就介紹了機器學(xué)習(xí)的基礎(chǔ)內(nèi)容,了解python爬蟲,本文給大家分享Python爬取貝殼房源數(shù)據(jù)的實戰(zhàn)教程,感興趣的朋友一起學(xué)習(xí)吧
    2021-05-05
  • 如何使用python批量修改文本文件編碼格式

    如何使用python批量修改文本文件編碼格式

    把文本文件的編碼格式進(jìn)行批量幻化,比如ascii, gb2312, utf8等,相互轉(zhuǎn)化,字符集的大小來看,utf8>gb2312>ascii,因此最好把gb2312轉(zhuǎn)為utf8,否則容易出現(xiàn)亂碼,這篇文章主要介紹了如何使用python批量修改文本文件編碼格式,需要的朋友可以參考下
    2023-03-03
  • python?logging模塊的分文件存放詳析

    python?logging模塊的分文件存放詳析

    這篇文章主要介紹了python?logging模塊的分文件存放詳析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • 老生常談Python startswith()函數(shù)與endswith函數(shù)

    老生常談Python startswith()函數(shù)與endswith函數(shù)

    下面小編就為大家?guī)硪黄仙U凱ython startswith()函數(shù)與endswith函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 在Python的Django框架下使用django-tagging的教程

    在Python的Django框架下使用django-tagging的教程

    這篇文章主要介紹了在Python的Django框架下使用django-tagging的教程,針對網(wǎng)絡(luò)編程中的tag部分功能提供幫助,需要的朋友可以參考下
    2015-05-05
  • Python自然語言處理使用spaCy庫進(jìn)行文本預(yù)處理

    Python自然語言處理使用spaCy庫進(jìn)行文本預(yù)處理

    這篇文章主要為大家介紹了Python自然語言處理使用spaCy庫進(jìn)行文本預(yù)處理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • python實現(xiàn)ipsec開權(quán)限實例

    python實現(xiàn)ipsec開權(quán)限實例

    這篇文章主要介紹了python實現(xiàn)ipsec開權(quán)限的方法,彌補了windows自帶的命令行工具netsh ipsec static add filter不支持批量添加及添加重復(fù)規(guī)則的不足,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • Python中線程編程之threading模塊的使用詳解

    Python中線程編程之threading模塊的使用詳解

    這篇文章主要介紹了Python中線程編程之threading模塊的使用詳解,由于GIL的存在,線程一直是Python編程中的焦點問題,需要的朋友可以參考下
    2015-06-06
  • Python通過Pygame繪制移動的矩形實例代碼

    Python通過Pygame繪制移動的矩形實例代碼

    這篇文章主要介紹了Python通過Pygame繪制移動的矩形實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 給你一面國旗 教你用python畫中國國旗

    給你一面國旗 教你用python畫中國國旗

    朋友圈許多小伙伴都在發(fā):請給我一面五星紅旗的動態(tài),這篇文章就主要教大家如何使用python畫中國國旗,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09

最新評論