在Matplotlib中,可以使用Figure对象和Axes对象来构建复合图表布局。Figure对象代表整个图表,而Axes对象则代表单个子图。
以下是一个简单的示例,展示如何构建一个包含多个子图的复合图表布局:
import matplotlib.pyplot as plt
import numpy as np
# 创建Figure对象和多个Axes对象
fig, axs = plt.subplots(2, 2)
# 在第一个子图中绘制折线图
x = np.arange(0, 10, 0.1)
y = np.sin(x)
axs[0, 0].plot(x, y)
axs[0, 0].set_title('Sine Curve')
# 在第二个子图中绘制柱状图
x = np.arange(5)
y = np.random.randint(1, 10, 5)
axs[0, 1].bar(x, y)
axs[0, 1].set_title('Bar Chart')
# 在第三个子图中绘制散点图
x = np.random.randn(100)
y = np.random.randn(100)
axs[1, 0].scatter(x, y)
axs[1, 0].set_title('Scatter Plot')
# 在第四个子图中绘制饼图
sizes = np.random.randint(1, 10, 5)
labels = ['A', 'B', 'C', 'D', 'E']
axs[1, 1].pie(sizes, labels=labels, autopct='%1.1f%%')
axs[1, 1].set_title('Pie Chart')
plt.tight_layout()
plt.show()
在这个示例中,我们使用plt.subplots()
函数创建了一个2x2的子图布局,然后在每个子图中绘制了不同类型的图表。最后使用plt.tight_layout()
函数调整子图之间的间距,并调用plt.show()
展示图表。