如何在 Matplotlib 中更改圖形大小及格式
Suraj Joshi
2023年1月30日
-
初始化期間在
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 格式。
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn