要将两个图合并为一个具有共享图例的图,可以使用Python中的Matplotlib库来实现。以下是一个示例代码,展示了如何将两个图合并并共享图例:
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()
x
, y1
, 和 y2
。plt.subplots()
创建一个图形和一个子图 ax1
。ax1
上绘制第一个图,并设置标签和颜色。ax1.twinx()
创建第二个y轴 ax2
。ax2
上绘制第二个图,并设置标签和颜色。plt.show()
显示最终的图形。这种技术常用于需要比较多个数据集的情况,例如在同一图表中展示不同变量之间的关系,或者在时间序列分析中展示多个指标的变化。
通过这种方式,你可以有效地将两个图合并为一个具有共享图例的图,从而提高数据的可读性和比较性。
领取专属 10元无门槛券
手把手带您无忧上云