Python中的 Matplotlib.figure.Figure.tight_layout()
Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 figure 模块提供了顶级 Artist,即 Figure,其中包含所有绘图元素。该模块用于控制所有绘图元素的子图和顶级容器的默认间距。
matplotlib.figure.Figure.tight_layout() 方法
matplotlib库的tight_layout()方法图模块用于自动调整子图参数以给出指定的填充。
Syntax: tight_layout(self, renderer=None, pad=1.08, h_pad=None, w_pad=None, rect=None)
Parameters: This method accept the following parameters that are discussed below:
- renderer : This parameter is the subclass of RendererBase.
- 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 returns any value.
下面的示例说明了 matplotlib.figure 中的 matplotlib.figure.Figure.tight_layout()函数:
示例 1:
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')
fig = plt.figure()
ax = fig.subplots()
formatter0 = EngFormatter(unit ='Hz')
ax.plot(xs, ys)
ax.set_xlabel('Frequency')
fig.tight_layout()
fig.suptitle("""matplotlib.figure.Figure.tight_layout()
function Example\n\n""", fontweight ="bold")
fig.show()
输出:
示例 2:
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.tight_layout()
fig.suptitle("""matplotlib.figure.Figure.tight_layout()
function Example\n\n""", fontweight ="bold")
fig.show()
输出: