詳解matplotlib中的ax.legend()

一、ax.legend參數

在matplotlib中,ax.legend()函數主要用於為圖形添加圖例。在傳遞參數時,我們可以使用一系列關鍵字參數來定製圖例的位置,大小,字體等屬性。以下是ax.legend()支持的常用參數:

參數名	            類型	  說明
loc	            string	指定圖例的位置
bbox_to_anchor	    tuple	指定圖例的錨點(外部邊界或圖表頂部左上)
ncol	            int	    指定圖例的列數
fontsize	        int	    指定圖例的字體大小
title	            string	圖例的標題
frame_on	        bool	是否顯示圖例的邊框
shadow	            bool	是否顯示圖例的陰影
fancybox	        bool	是否為圖例的邊框添加圓角
framealpha	        float	圖例的邊框透明度

其中,loc參數可以指定圖例在哪個位置出現。它可以採用一個字符串,表示需要顯示圖例的位置,如’upper right’、’lower left’等。另外,loc參數也可以接收一個長度為2的元組來指定圖例的位置。例如,(0.5, 0.5)表示圖例的位置位於圖形區域的中心。

二、ax.legend設置邊框粗細

ax.legend()函數中的frame_linewidth參數用於設置圖例邊框的粗細程度。frame_linewidth參數需要指定一個浮點數來表示邊框的粗細程度,例如:

import matplotlib.pyplot as plt
plt.style.use('ggplot')
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [2, 4, 6], label='line 1')
ax.plot([1, 2, 3], [1, 3, 5], label='line 2')
legend = ax.legend(loc='upper center', frame_linewidth=2)

在上述代碼中,我們將frame_linewidth參數設置為2,表示圖例邊框的粗細為2個單位。圖例將會位於圖表的中上方。

三、ax.legend設置邊框顏色

在matplotlib中,ax.legend()函數中的frame_color參數用於指定圖例邊框的顏色。

import matplotlib.pyplot as plt
plt.style.use('ggplot')
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [2, 4, 6], label='line 1')
ax.plot([1, 2, 3], [1, 3, 5], label='line 2')
legend = ax.legend(loc='upper center', frame_color='red')

上述代碼中,我們將frame_color參數設置為’red’,表示圖例邊框的顏色為紅色。圖例將會位於圖表的中上方。

四、ax.legend的字體大小

在matplotlib中,ax.legend()函數中的fontsize參數用於指定圖例的字體大小。fontsize參數需要指定一個整數來表示字體的大小,例如:

import matplotlib.pyplot as plt
plt.style.use('ggplot')
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [2, 4, 6], label='line 1')
ax.plot([1, 2, 3], [1, 3, 5], label='line 2')
legend = ax.legend(loc='upper center', fontsize=14)

在上述代碼中,我們將fontsize參數設置為14,表示圖例的字體大小為14個單位。圖例將會位於圖表的中上方。

五、ax.legend實例

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

# Data
x = np.linspace(-10, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# Plot
fig, ax = plt.subplots(figsize=(10,6))
ax.plot(x, y1, label='sin(x)', linewidth=2)
ax.plot(x, y2, label='cos(x)', linewidth=2)

# Legend
legend = ax.legend(loc='upper center', shadow=True, fontsize=16)
legend.get_frame().set_facecolor('#FFFFFF') # 設置圖例邊框顏色
plt.setp(legend.get_lines(), linewidth=4) # 設置標籤線寬
plt.show()

上述代碼中,我們生成了兩個曲線數據y1和y2,並分別用ax.plot()將它們繪製到了圖形上。隨後,我們通過ax.legend()函數為該圖形添加了一個圖例。圖例的位置位於圖表頂部中心,陰影效果開啟,字體大小為16。

在圖例的生成後,我們對其進行了一系列自定義設置:設置圖例邊框為白色,標籤線寬為4。

最終,我們調用plt.show()函數顯示該圖形。圖形的結果如下所示:

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/157814.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-18 20:02
下一篇 2024-11-18 20:02

相關推薦

  • Python最強大的製圖庫——Matplotlib

    Matplotlib是Python中最強大的數據可視化工具之一,它提供了海量的製圖、繪圖、繪製動畫的功能,通過它可以輕鬆地展示數據的分布、比較和趨勢。下面將從多個方面對Matplo…

    編程 2025-04-29
  • Python三大:NumPy、Pandas、matplotlib

    本文將詳細介紹三大Python數據處理及可視化庫——NumPy、Pandas以及matplotlib,為讀者提供從基礎使用到應用場景的全面掌握。 一、NumPy NumPy是Pyt…

    編程 2025-04-27
  • Python畫圖:Matplotlib的使用

    Matplotlib是Python中最常用的畫圖庫之一。它可以輕鬆地創建各種類型的圖表,包括直方圖、散點圖、線圖、餅圖等等。本文將從以下幾個方面對Matplotlib的使用進行詳細…

    編程 2025-04-27
  • 神經網絡代碼詳解

    神經網絡作為一種人工智能技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網絡的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網絡模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web服務器。nginx是一個高性能的反向代理web服務器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分布式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25

發表回復

登錄後才能評論