Python中的 Matplotlib.pyplot.tight_layout()
Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 Pyplot是Matplotlib模块的基于状态的接口,它提供了一个类似 MATLAB 的接口。在 Pyplot 中可以使用各种图,包括线图、等高线图、直方图、散点图、3D 图等。
示例代码
# sample code
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [16, 4, 1, 8])
plt.show()
输出:
matplotlib.pyplot.tight_layout()函数
matplotlib库的pyplot模块中的tight_layout()函数用于自动调整子图参数以给出指定的填充。
Syntax: matplotlib.pyplot.tight_layout(pad=1.08, h_pad=None, w_pad=None, rect=None)
Parameters: This method accept the following parameters that are described below:
- pad: This parameter is used for padding between the figure edge and the edges of subplots, as a fraction of the font size.
- h_pad, w_pad: These parameter are used for padding (height/width) between edges of adjacent subplots, as a fraction of the font size.
- rect: This parameter is rectangle in the normalized figure coordinate that the whole subplots area will fit into.
Returns: This method does not return any value.
下面的示例说明了 matplotlib.pyplot 中的matplotlib.pyplot.tight_layout()
函数:
示例 1:
import numpy as np
import matplotlib.pyplot as plt
fig, axs = plt.subplots(1, 2)
x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker ='o')
y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color ='tab:green')
l4, = axs[1].plot(x, y4, color ='tab:red', marker ='o')
fig.legend((l1, l2), ('Line 1', 'Line 2'), 'upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), 'upper right')
fig.suptitle('matplotlib.pyplot.tight_layout() Example')
plt.tight_layout()
plt.show()
输出:
示例 2:
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import EngFormatter
prng = np.random.RandomState(19680801)
xs = np.logspace(1, 9, 100)
ys = (0.8 + 0.4 * prng.uniform(size = 100)) * np.log10(xs)**2
plt.xscale('log')
formatter0 = EngFormatter(unit ='Hz')
plt.plot(xs, ys)
plt.xlabel('Frequency')
plt.title('matplotlib.pyplot.tight_layout() Example')
plt.tight_layout()
plt.show()
输出: