如何将两个现有的 Matplotlib 图表合并到一张图表中?


要将两个现有的 matplotlib 图表合并到一张图表中,可以采取以下步骤 -

  • 设置图表的尺寸并调整子图表之间和周围的边距。
  • 使用 numpy 创建 x, y1 和 y2 数据点。
  • 使用 plot() 方法绘制 (x, y1) 和 (x, y2) 点。
  • 获取当前轴线的 xy 数据点。
  • 使用 argsort() 返回将对数组排序的索引。
  • 追加每个图表的 x 和 y 数据点。
  • 在第二个索引的子图表中绘制 X 和 Y 数据点。
  • 要显示图表,请使用 show() 方法。

示例

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(-10, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.subplot(211)
plt.plot(x, y1, color='red', lw=5)
plt.plot(x, y2, color='orange', lw=7)

X, Y = [], []

for lines in plt.gca().get_lines():
   for x, y in lines.get_xydata():
      X.append(x)
      Y.append(y)

idx = np.argsort(X)
X = np.array(X)[idx]
Y = np.array(Y)[idx]

plt.subplot(212)

plt.plot(X, Y, color='green', lw=0.75)

plt.show()

输出

更新时间: 2021-08-04

15 千+ 浏览次数

开启你的 职业生涯

完成课程获得认证

入门
广告