2017-02-17 11 views
0

Iが配列のリストまたはリスト内のすべての配列をpythonの同じプロットに配列のリストをプロットする?

a=[array1([.....]),array2([.....]),array3([....]),.....] 

ように見え、別の配列B(ないリスト)

b=np.array[()] 

配列の配列「」であるを有します「b」と同じ長さおよび同じ長さ。私はすべての配列をリスト "a"のy軸にプロットし、 "b"をx軸にプロットしたい。 a [0]とb、a [1]とb、a [2]、b、...などからなる1つのプロットです。

どうすればいいですか?

私は

f, axes = plt.subplots(len(a),1) 
for g in range(len(a)): 
    axes[g].plot(b,a[g]) 
    plt.show() 

を試みたが、これは私に、互いの上に積み重ねられた多くのプロットを与え、彼らも、すべてのデータを持っていません。私はすべてを1つのプロットにしたい。

答えて

0

これを達成する必要がある古いコードが見つかりました。編集

import random 
import matplotlib.pyplot as plt 
from matplotlib import cm 
import numpy as np 

# define a and b here 

# Helps pick a random color for each plot, used for readability 
rand = lambda: random.randint(0, 255) 
fig = plt.figure(figsize=(10,7.5)) 
ax = fig.add_subplot(111) 
for ydata in a: 
    clr = '#%02X%02X%02X' % (rand(),rand(),rand()) 
    plot, = ax.plot(b, ydata, color=clr) 

:試してみてください色の同じセットを毎回生成するには、this postに答えて、試してみてください。

colors = cm.rainbow(np.linspace(0, 1, len(a))) 
for ydata, clr in zip(a, colors): 
    plot, = ax.plot(b, ydata, color=clr) 

np.linspaceはあなたに「指定した間隔で等間隔​​の数字」を与え、 [0,1]この目的のために。

+0

ありがとうございました。色が常に同じになるようにする方法はありますか?だから、すべてのプロットは色が違っていますが、私がプロットするたびに、同じ色を保ちます。 –

+0

それは間違いなく可能です。私はこれを試していないが、編集を参照してください。 – sgrg

+0

ありがとう!!あなたは素晴らしいです! –

0

サブプロットを1つだけ定義し、すべての配列を同じ軸にプロットする必要があります。

fig, ax = plt.subplots(1, 1) 
for g in range(len(a)): 
    ax.plot(b, a[g]) 
plt.show() 
関連する問題