如何在 Matplotlib 中更改圖形大小及格式
Suraj Joshi
2023年1月30日
Matplotlib
Matplotlib Figure
-
初始化期間在
figure()方法中設定figsize -
設定
rcParams來更改 Matplotlib 中圖形的大小 -
set_figheight()和set_figwidth()一起設定 Matplotlib 圖形大小 -
set_size_inches()方法來更改 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 引數的預設值為 [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()
輸出:

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() 方法設定圖形的寬度。
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() 方法的引數分別表示圖形的寬度和高度(以英寸為單位)。
在 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 格式。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn