如何在 Matplotlib 中更改圖形大小及格式

Suraj Joshi 2023年1月30日
  1. 初始化期間在 figure() 方法中設定 figsize
  2. 設定 rcParams 來更改 Matplotlib 中圖形的大小
  3. set_figheight()set_figwidth() 一起設定 Matplotlib 圖形大小
  4. set_size_inches() 方法來更改 Matplotlib 圖形大小
  5. 在 Matplotlib 中更改圖形格式
如何在 Matplotlib 中更改圖形大小及格式

我們可以使用 set_figheight()set_figwidth()set_size_inches() 方法來更改 Matplotlib 中的圖形大小。我們也可以通過在 figure() 方法和 rcParams 中設定 figsize 來改變 Matplotlib 中的圖形大小。同樣,要更改圖形格式,我們只需在 savefig() 方法中更改影象檔案的副檔名。

初始化期間在 figure() 方法中設定 figsize

我們可以在初始化期間通過 figure() 方法設定 figsize 引數的值,該引數以英寸為單位指定圖形的寬度和高度。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 0.5)
m = 1
c = 2
y = m * x + c

plt.figure(figsize=(6, 4))
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")

plt.show()

輸出:

使用 figsize 引數設定 figsize

figsize 引數的預設值為 [6.4, 4.8]

設定 rcParams 來更改 Matplotlib 中圖形的大小

我們可以更改儲存在 matplotlib.rcParams 字典中的預設 figure.figsize 值,以更改 Matplotlib 中的圖形大小。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 20)
m = 1
c = 2
y = m * x + c

plt.rcParams["figure.figsize"] = (8, 6)
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")

plt.show()

輸出:

使用 rc 引數設定 figsize

set_figheight()set_figwidth() 一起設定 Matplotlib 圖形大小

如果已經建立了圖形,我們可以使用 set_figheight()set_figwidth() 方法來確定圖形的大小。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 20)
m = 1
c = 2
y = m * x + c

fig = plt.figure()
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")
fig.set_figheight(6)
fig.set_figwidth(8)

plt.show()

輸出:

使用 set_figheight 和 set_figwidth 設定 figsize

這裡,set_figheight() 方法設定圖形的高度,而 set_figwidth() 方法設定圖形的寬度。

set_size_inches() 方法來更改 Matplotlib 圖形大小

建立圖形後,此方法還可以設定圖形大小。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 20)
m = 1
c = 2
y = m * x + c

fig = plt.figure()
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")
fig.set_size_inches(5, 5)

plt.show()

輸出:

使用 set_size_inches 設定 figsize

在這裡,傳遞給 set_size_inches() 方法的引數分別表示圖形的寬度和高度(以英寸為單位)。

在 Matplotlib 中更改圖形格式

要更改圖形格式,我們可以使用 savefig() 方法更改影象檔案的副檔名。我們可以將圖儲存為不同的格式,例如 png,jpg,svg,pdf 等。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 20)
m = 1
c = 2
y = m * x + c

fig = plt.figure()
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")
fig.set_size_inches(5, 5)

plt.savefig("Figure saved in jpg format.jpg")

這會將圖形儲存為 jpg 格式。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

相關文章 - Matplotlib Figure