matplotlib圖例legend語(yǔ)法及設(shè)置的方法
1.圖例legend基礎(chǔ)語(yǔ)法及用法
legend語(yǔ)法參數(shù)如下: matplotlib.pyplot.legend(*args, **kwargs)
Keyword | Description |
loc | Location code string, or tuple (see below).圖例所有figure位置 |
prop | the font property字體參數(shù) |
fontsize | the font size (used only if prop is not specified) |
markerscale | the relative size of legend markers vs. original 圖例標(biāo)記與原始標(biāo)記的相對(duì)大小 |
markerfirst | If True (default), marker is to left of the label. 如果為T(mén)rue,則圖例標(biāo)記位于圖例標(biāo)簽的左側(cè) |
numpoints | the number of points in the legend for line 為線條圖圖例條目創(chuàng)建的標(biāo)記點(diǎn)數(shù) |
scatterpoints | the number of points in the legend for scatter plot 為散點(diǎn)圖圖例條目創(chuàng)建的標(biāo)記點(diǎn)數(shù) |
scatteryoffsets | a list of yoffsets for scatter symbols in legend 為散點(diǎn)圖圖例條目創(chuàng)建的標(biāo)記的垂直偏移量 |
frameon | If True, draw the legend on a patch (frame). 控制是否應(yīng)在圖例周?chē)L制框架 |
fancybox | If True, draw the frame with a round fancybox. 控制是否應(yīng)在構(gòu)成圖例背景的FancyBboxPatch周?chē)鷨⒂脠A邊 |
shadow | If True, draw a shadow behind legend. 控制是否在圖例后面畫(huà)一個(gè)陰影 |
framealpha | Transparency of the frame. 控制圖例框架的 Alpha 透明度 |
edgecolor | Frame edgecolor. |
facecolor | Frame facecolor. |
ncol | number of columns 設(shè)置圖例分為n列展示 |
borderpad | the fractional whitespace inside the legend border 圖例邊框的內(nèi)邊距 |
labelspacing | the vertical space between the legend entries 圖例條目之間的垂直間距 |
handlelength | the length of the legend handles 圖例句柄的長(zhǎng)度 |
handleheight | the height of the legend handles 圖例句柄的高度 |
handletextpad | the pad between the legend handle and text 圖例句柄和文本之間的間距 |
borderaxespad | the pad between the axes and legend border 軸與圖例邊框之間的距離 |
columnspacing | the spacing between columns 列間距 |
title | the legend title |
bbox_to_anchor | the bbox that the legend will be anchored.指定圖例在軸的位置 |
bbox_transform | the transform for the bbox. transAxes if None. |
(1)設(shè)置圖例位置
使用loc參數(shù)
0: ‘best'
1: ‘upper right'
2: ‘upper left'
3: ‘lower left'
|
4: ‘lower right'
5: ‘right'
6: ‘center left'
|
7: ‘center right'
8: ‘lower center'
9: ‘upper center'
10: ‘center'
|
(2)設(shè)置圖例字體
#設(shè)置字體大小 fontsize : int or float or {‘xx-small', ‘x-small', ‘small', ‘medium', ‘large', ‘x-large', ‘xx-large'}
(3)設(shè)置圖例邊框及背景
plt.legend(loc='best',frameon=False) #去掉圖例邊框 plt.legend(loc='best',edgecolor='blue') #設(shè)置圖例邊框顏色 plt.legend(loc='best',facecolor='blue') #設(shè)置圖例背景顏色,若無(wú)邊框,參數(shù)無(wú)效
(4)設(shè)置圖例標(biāo)題
plt.legend(loc='best',title='figure 1 legend') #去掉圖例邊框
2.legend面向?qū)ο竺?/strong>
(1)獲取并設(shè)置legend圖例
plt.legend(loc=0, numpoints=1) leg = plt.gca().get_legend() #或leg=ax.get_legend() ltext = leg.get_texts() plt.setp(ltext, fontsize=12,fontweight='bold')
(2)設(shè)置圖例
legend = ax.legend((rectsTest1, rectsTest2, rectsTest3), ('test1', 'test2', 'test3')) legend = ax.legend(loc='upper center', shadow=True, fontsize='x-large') legend.get_frame().set_facecolor('red') #設(shè)置圖例legend背景為紅色 frame = legend.get_frame() frame.set_alpha(1) frame.set_facecolor('none') #設(shè)置圖例legend背景透明
(3)移除圖例
ax1.legend_.remove() ##移除子圖ax1中的圖例 ax2.legend_.remove() ##移除子圖ax2中的圖例 ax3.legend_.remove() ##移除子圖ax3中的圖例
3.案例:設(shè)置圖例legend到圖形邊界外
#主要是bbox_to_anchor的使用 box = ax1.get_position() ax1.set_position([box.x0, box.y0, box.width , box.height* 0.8]) ax1.legend(loc='center', bbox_to_anchor=(0.5, 1.2),ncol=3)
4.案例:顯示多圖例legend
import matplotlib.pyplot as plt import numpy as np x = np.random.uniform(-1, 1, 4) y = np.random.uniform(-1, 1, 4) p1, = plt.plot([1,2,3]) p2, = plt.plot([3,2,1]) l1 = plt.legend([p2, p1], ["line 2", "line 1"], loc='upper left') p3 = plt.scatter(x[0:2], y[0:2], marker = 'D', color='r') p4 = plt.scatter(x[2:], y[2:], marker = 'D', color='g') # This removes l1 from the axes. plt.legend([p3, p4], ['label', 'label1'], loc='lower right', scatterpoints=1) # Add l1 as a separate artist to the axes plt.gca().add_artist(l1)
import matplotlib.pyplot as plt line1, = plt.plot([1,2,3], label="Line 1", linestyle='--') line2, = plt.plot([3,2,1], label="Line 2", linewidth=4) # 為第一個(gè)線條創(chuàng)建圖例 first_legend = plt.legend(handles=[line1], loc=1) # 手動(dòng)將圖例添加到當(dāng)前軸域 ax = plt.gca().add_artist(first_legend) # 為第二個(gè)線條創(chuàng)建另一個(gè)圖例 plt.legend(handles=[line2], loc=4) plt.show()
到此這篇關(guān)于matplotlib圖例legend語(yǔ)法及設(shè)置的方法的文章就介紹到這了,更多相關(guān)matplotlib legend內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)PPT/PPTX批量轉(zhuǎn)換成PDF
這篇文章主要為大家詳細(xì)介紹了如何使用Python將PowerPoint演示文稿(PPT、PPTX等)轉(zhuǎn)換為PDF文件,使演示內(nèi)容能夠在更多的設(shè)備上展示,感興趣的小伙伴可以了解下2024-01-01Tornado路由與Application的實(shí)現(xiàn)
本文主要介紹了Tornado路由與Application的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Python 中Django驗(yàn)證碼功能的實(shí)現(xiàn)代碼
驗(yàn)證碼是一種區(qū)分用戶(hù)是計(jì)算機(jī)還是人的公共全自動(dòng)程序,很多用戶(hù)登錄和注冊(cè)系統(tǒng)都提供了圖形驗(yàn)證碼功能。這篇文章主要介紹了Python 中Django驗(yàn)證碼功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下2019-06-06pytest解讀一次請(qǐng)求多個(gè)fixtures及多次請(qǐng)求
這篇文章主要為大家介紹了一次請(qǐng)求多個(gè)fixtures,以及fixtures被多次請(qǐng)求的pytest官方解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06python+matplotlib演示電偶極子實(shí)例代碼
這篇文章主要介紹了python+matplotlib演示電偶極子實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Django實(shí)現(xiàn)登錄隨機(jī)驗(yàn)證碼的示例代碼
登錄驗(yàn)證碼是每個(gè)網(wǎng)站登錄時(shí)的基本標(biāo)配,這篇文章主要介紹了Django實(shí)現(xiàn)登錄隨機(jī)驗(yàn)證碼的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06Python實(shí)戰(zhàn)之OpenCV實(shí)現(xiàn)貓臉檢測(cè)
今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著OpenCV實(shí)現(xiàn)貓臉檢測(cè)展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06