2016-08-23 17 views
-4

私はいくつかのプロットを持つスクリプトを用意しています(サンプルコードを参照)。他のものの後に、私は既存のプロットに新しいプロットを追加したい。しかし、それを試してみると、最後に作成されたFigure(今fig2)でプロットが追加されます。 私はそれを変更する方法を見つけ出すことができない...新しい図を既存の図に追加

import matplotlib.pylab as plt 
import numpy as np 

n = 10 
x1 = np.arange(n) 
y1 = np.arange(n)  

fig1 = plt.figure() 
ax1 = fig1.add_subplot(111) 
ax1.plot(x1,y1) 
fig1.show() 

x2 = np.arange(10) 
y2 = n/x2 

# add new data and create new figure 
fig2 = plt.figure() 
ax2 = fig2.add_subplot(111) 
ax2.plot(x2,y2) 
fig2.show() 

# do something with data to compare with new data 
y1_geq = y1 >= y2 
y1_a = y1**2 
ax1.plot(y1_geq.nonzero()[0],y1[y1_geq],'ro') 
fig1.canvas.draw 

答えて

4

をあなたのコードはエラーなしで実行可能ではないので、私は同じグラフ/図中のいくつかのデータをプロットする方法を示すサンプルスニペットを提供します:

import matplotlib.pyplot as plt 

xvals = [i for i in range(0, 10)] 
yvals1 = [i**2 for i in range(0, 10)] 
yvals2 = [i**3 for i in range(0, 10)] 

f, ax = plt.subplots(1) 
ax.plot(xvals, yvals1) 
ax.plot(xvals, yvals2) 

したがって、基本的な考え方は、同じプロットにプロットする必要があるすべてのデータセットに対してax.plot()を呼び出すことです。

+0

私のスクリプトにエラーはありません... そして、私の質問には答えがありません。私はまだ2番目の数字があり、最初の数字に新しいプロットを追加することはできません。 –

+0

これは間違っています。例えば。 'x1'と' y2'はあなたのスニペットでは未定義です。 – albert

+0

それは私の問題ではありません。私はあなたのラインを追加しました...そして今私の質問で私は幸せになる答えを得ることができる場合 –

関連する問題