首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将两个图合并为一个具有共享图例的图

要将两个图合并为一个具有共享图例的图,可以使用Python中的Matplotlib库来实现。以下是一个示例代码,展示了如何将两个图合并并共享图例:

代码语言:txt
复制
import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y1 = [10, 15, 13, 17, 21]
y2 = [5, 8, 10, 12, 15]

# 创建一个图形和子图
fig, ax1 = plt.subplots()

# 绘制第一个图
color = 'tab:red'
ax1.set_xlabel('X data')
ax1.set_ylabel('Y1 data', color=color)
ax1.plot(x, y1, color=color, label='Y1')
ax1.tick_params(axis='y', labelcolor=color)

# 创建第二个y轴
ax2 = ax1.twinx()

# 绘制第二个图
color = 'tab:blue'
ax2.set_ylabel('Y2 data', color=color)
ax2.plot(x, y2, color=color, label='Y2')
ax2.tick_params(axis='y', labelcolor=color)

# 合并图例
lines, labels = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines + lines2, labels + labels2, loc='upper left')

# 显示图形
plt.show()

解释

  1. 创建数据:定义了两个数据集 x, y1, 和 y2
  2. 创建图形和子图:使用 plt.subplots() 创建一个图形和一个子图 ax1
  3. 绘制第一个图:在 ax1 上绘制第一个图,并设置标签和颜色。
  4. 创建第二个y轴:使用 ax1.twinx() 创建第二个y轴 ax2
  5. 绘制第二个图:在 ax2 上绘制第二个图,并设置标签和颜色。
  6. 合并图例:从两个子图中获取图例句柄和标签,然后将它们合并到一个图例中。
  7. 显示图形:使用 plt.show() 显示最终的图形。

应用场景

这种技术常用于需要比较多个数据集的情况,例如在同一图表中展示不同变量之间的关系,或者在时间序列分析中展示多个指标的变化。

参考链接

通过这种方式,你可以有效地将两个图合并为一个具有共享图例的图,从而提高数据的可读性和比较性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券