如何在 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()

输出:

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

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()

输出:

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

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()

输出:

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

这里,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()

输出:

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

在这里,传递给 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 格式。