matplotlib.pyplot.tight_layout()函数
Matplotlib是Python中的一个库,它是NumPy库的数值-数学扩展。Pyplot是一个基于状态的Matplotlib模块接口,该模块提供了一个类似matlab的接口。Pyplot中可以使用的绘图有直线图、轮廓图、直方图、散点图、三维图等。
示例代码
# 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()函数自动调整子plot参数以提供指定的填充。
语法:matplotlib.pyplot.tight_layout(pad=1.08, h_pad=None,w_pad=None,rect=None)
参数:该方法接受如下参数说明:
- pad:该参数用于填充图形边缘和子图边缘之间的填充,作为字体大小的一部分。
- h_pad, w_pad:这些参数用于相邻子图边缘之间的填充(高度/宽度),作为字体大小的一部分。
- rect:该参数为矩形,位于整个子绘图区域将适合的规范化图形坐标中。
返回:此方法不返回任何值。
下面的例子演示了matplotlib.pyplot.tight_layout()函数在matplotlib.pyplot中的作用:
示例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()
输出: