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 回答