Matplotlib指定图形大小

Matplotlib 指定图形大小(单位厘米)

Matplotlib是Python中最常用的绘图工具之一。它可以用来画各种类型的图表,从简单的折线图到复杂的3D图。在Matplotlib中,可以指定图像的大小和分辨率。

本文将介绍如何在Matplotlib中指定图形大小,以及如何使用厘米单位。

确定图形大小

在Matplotlib中,可以使用plt.figure()函数来创建一个新的图像。该函数包括几个参数,其中一个是figsize,它可以用来指定图像的大小。

默认情况下,Matplotlib中的figsize参数是以英寸为单位的。但是,我们可以通过将figsize参数设置为一个包含两个数字的元组来指定图像的大小。第一个数字是图像的宽度,第二个数字是图像的高度。

例如,下面的代码将创建一个大小为4英寸x4英寸的图像:

1
2
3
4
5
6
7
8
9
10
11
12
13
import matplotlib.pyplot as plt
import numpy as np

# 创建一个大小为4英寸x4英寸的图像
fig = plt.figure(figsize=(4, 4))
ax = fig.add_subplot(111)

# 在图像中绘制一个正弦波
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
ax.plot(x, y)

plt.show()

你可以看到,这个图像略微有些小,无法清晰地显示。如果我们需要一个更大的图像,我们可以通过增加figsize参数中的数字来实现。例如,如果我们需要一个8英寸x8英寸的图像,我们可以将figsize参数设置为(8,8)

但是,如果我们想要以厘米为单位指定图像的大小,该怎么办呢?

使用厘米单位

默认情况下,Matplotlib使用英寸作为图像大小的单位。但是,我们可以使用其他单位来指定图像的大小,包括厘米。

要在Matplotlib中指定图像大小为厘米,我们需要使用Figure.set_size_inches()函数。该函数包括两个参数,分别是图像的宽度和高度,以英寸为单位。我们可以将这些参数转换为厘米,然后将它们传递给set_size_inches()函数。

例如,下面的代码将创建一个大小为8厘米x8厘米的图像:

1
2
3
4
5
6
7
8
9
10
11
12
13
import matplotlib.pyplot as plt
import numpy as np

# 创建一个大小为8英寸x8英寸的图像
fig = plt.figure(figsize=(8/2.54, 8/2.54))
ax = fig.add_subplot(111)

# 在图像中绘制一个正弦波
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
ax.plot(x, y)

plt.show()

你可以看到,这个图像与上面的图像相同,只是现在它的大小是以厘米为单位的。我们将figsize参数设置为(8/2.54, 8/2.54),其中8/2.54是以厘米为单位的8英寸。

注意,如果你使用的是Python2,你需要在8/2.54前面加上一个小数点,即.8/2.54

总结

在Matplotlib中,我们可以使用plt.figure()函数来创建一个新的图像,并使用figsize参数指定它的大小。默认情况下,figsize的大小是以英寸为单位的。我们可以通过将figsize设置为一个包含两个值的元组来调整它的大小。要使用厘米作为单位指定图像大小,我们需要使用Figure.set_size_inches()函数,并将宽度和高度转换为厘米。

文章参考