使用Python的matplotlib库中的pyplot模块可以方便地绘制各种类型的图表。在绘制组合图时,我们常常需要为每个子图设置一个图例,以便更好地展示数据。在pyplot中,我们可以使用多个行标签来实现这一功能。本文将介绍如何使用pyplot绘制组合图,并添加多个行标签的图例。
首先,我们需要导入所需的库,并生成一些示例数据。下面的代码演示了如何生成两组随机数,并将其分别绘制成折线图和散点图。pythonimport matplotlib.pyplot as pltimport numpy as np# 生成示例数据x = np.linspace(0, 10, 100)y1 = np.sin(x)y2 = np.cos(x)y3 = np.random.rand(100)y4 = np.random.rand(100)# 创建一个包含两个子图的图像fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True)# 在第一个子图中绘制折线图ax1.plot(x, y1, label='sin(x)')ax1.plot(x, y2, label='cos(x)')ax1.set_ylabel('y1, y2')# 在第二个子图中绘制散点图ax2.scatter(x, y3, label='random 1')ax2.scatter(x, y4, label='random 2')ax2.set_xlabel('x')ax2.set_ylabel('y3, y4')# 在每个子图中添加图例ax1.legend(loc='upper right')ax2.legend(loc='upper right')# 显示图像plt.show()在这段代码中,我们首先导入了matplotlib.pyplot和numpy库。然后,我们使用numpy生成了一些示例数据,包括两组随机数和两组正弦函数和余弦函数的值。接下来,我们使用`plt.subplots()`函数创建了一个包含两个子图的图像,并将其赋给变量`fig`和`ax1`、`ax2`。然后,我们在第一个子图中使用`ax1.plot()`函数绘制了两条曲线,并为每条曲线设置了一个标签。在第二个子图中,我们使用`ax2.scatter()`函数绘制了两组散点,并为每组散点设置了一个标签。最后,我们使用`ax1.legend()`和`ax2.legend()`函数在每个子图中添加了图例,并使用`loc`参数指定了图例的位置。运行上述代码,我们可以得到一个包含两个子图的图像。每个子图的左上角都有一个图例,其中包含了我们设置的多个行标签。这样,我们就可以方便地查看每个子图中数据的含义。示例图像下面是使用上述代码绘制的示例图像:如图所示,左上角的图例显示了第一个子图中的两条曲线的含义,而右上角的图例显示了第二个子图中的两组散点的含义。通过这些图例,我们可以更好地理解和解读图表中的数据。在本文中,我们介绍了如何使用pyplot绘制组合图,并添加多个行标签的图例。通过这种方式,我们可以方便地展示和解读复杂的数据。希望本文对你有所帮助!参考资料:- Matplotlib官方文档:https://matplotlib.org/stable/