1

行数を事前に知らずに、1 つの図に複数の行を追加しようとしています。現在、単一のセッション内の行に使用される x 値と y 値を持つクラスがあります。

同じ図内で新しいセッションごとに新しい行を追加する方法がわかりません。その関連付けを具体的に作成します。

メイン関数内に次のコードがあります。

fig = plt.figure()
ax = fig.add_subplot(111)
line,= plt.figure().plot(0,0)

私のセッションクラスで。次のコードがあります。

class Session:
x = []
y = []
# I think I should add a line here... but I am not sure 
# how to make this association to the main.

セッションごとに x 値と y 値が保存され、メソッドを介してこれらの値を取得できます。その部分は簡単ですが、各線を同じグラフに関連付けるのに苦労しています。この問題にどのようにアプローチすればよいですか?

4

1 に答える 1

1

.plot()何度でも呼び出せます。線の色を変更する方法の例を追加しました。スタイリングはお任せします。

import matplotlib.pyplot as plt

fig = plt.Figure()
ax = fig.add_subplot(111)

colors = ('b','g','r','c','m','y','k','w',)
sessions = (sess1, sess2, sess3)
for sess, color in zip(sessions, colors):
    ax.plot(sess.x, sess.y, color=color)

使用および/または再利用したい場合は、すべての線に特定の色のセットを使用すると、itertools.cycle簡単に作業でき ます。

import itertools as it

colors = ('b','g','r',)
sessions = (sess1, sess2, sess3, sess4, sess5, sess6)
for sess, color in zip(sessions, it.cycle(colors)):
    ax.plot(sess.x, sess.y, color=color)
于 2013-01-28T23:55:18.260 に答える