2012-10-03 16 views
5

これを行う方法は実際にはありませんでしたが、既に1つのグラフに存在する2つのプロットをマージする方法があるかどうかは疑問です。どんな入力も大歓迎です!あなたがそのようなNX2のnumpyの配列としてフィギュアのためのデータを得ることができ、あなたはmatplotlibのを使用していると仮定すると、既存の2つのプロットを1つのプロットにマージする

+0

あなたはプロット何のライブラリを使用していますか?どのようなプロットですか?詳細をご記入ください。 – Gareth

+0

@Garethライブラリはmatplotlibである可能性が高く、問題の2つのグラフはそれぞれ正規の線図とヒストグラムを持っています。それらは同じように見え、同じ軸を持ちますが、x軸に別々の日付範囲があります。 – user1620716

+0

既存の2つのプロットの_data_をマージしますか?赤で線のプロットと青で線のプロットを言う - あなたは2つのデータセットの緑の新しいプロットを見たい例として? (元のデータにアクセスできないという奇妙な理由があると仮定しています) – Hooked

答えて

3

はあなたが抽出するために必要なすべての手順を通過し、完全な最小限の実施例であります複数のプロットからのデータを結合することができます。

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() 

enter image description here

+0

これはほぼ正確に私が探しているものです!私は試してみるつもりです。 – user1620716

1

:ここ

gca().get_lines()[n].get_xydata() 
関連する問題