Python 将两个现有绘图合并为一个绘图

Python 将两个现有绘图合并为一个绘图,python,matplotlib,Python,Matplotlib,我还没有真正尝试过任何方法来实现这一点,但我想知道是否有一种方法可以将已经存在的两个绘图合并到一个图形中。任何意见都将不胜感激 假设您使用的是Matplotlib,您可以将图形的数据作为NX2 numpy数组获取,如下所示: gca().get_lines()[n].get_xydata() 下面是一个完整的最小工作示例,它将完成从多个绘图中提取和组合数据所需的所有步骤 import numpy as np import pylab as plt # Create some test dat

我还没有真正尝试过任何方法来实现这一点,但我想知道是否有一种方法可以将已经存在的两个绘图合并到一个图形中。任何意见都将不胜感激

假设您使用的是Matplotlib,您可以将图形的数据作为NX2 numpy数组获取,如下所示:

gca().get_lines()[n].get_xydata()

下面是一个完整的最小工作示例,它将完成从多个绘图中提取和组合数据所需的所有步骤

import numpy as np
import pylab as plt

# Create some test data
secret_data_X1 = np.linspace(0,1,100)
secret_data_Y1 = secret_data_X1**2
secret_data_X2 = np.linspace(1,2,100)
secret_data_Y2 = secret_data_X2**2

# Show the secret data
plt.subplot(2,1,1)
plt.plot(secret_data_X1,secret_data_Y1,'r')
plt.plot(secret_data_X2,secret_data_Y2,'b')

# Loop through the plots created and find the x,y values
X,Y = [], []   
for lines in plt.gca().get_lines():
    for x,y in lines.get_xydata():
        X.append(x)
        Y.append(y)

# If you are doing a line plot, we don't know if the x values are
# sequential, we sort based off the x-values
idx = np.argsort(X)
X = np.array(X)[idx]
Y = np.array(Y)[idx]

plt.subplot(2,1,2)
plt.plot(X,Y,'g')
plt.show()

您使用的绘图库是什么?什么样的情节?请提供更多详细信息。@Gareth该库很可能是matplotlib,两个有问题的图形都有规则的线条图和直方图。虽然它们在x轴上有单独的日期范围,但它们看起来相似,并且具有相同的轴。是否合并两个已存在绘图的数据?假设一个红色的线条图和另一个蓝色的线条图-作为一个例子,您希望看到两个数据集中的一个绿色的新曲线图?(我们假设由于某种奇怪的原因,您无法访问原始数据,对吗?)类似的情况可能是理想的。我们可以假设无法访问原始数据。这几乎正是我要寻找的!我要试一试。