我试图在单个数字上添加多行而不事先知道行数。我目前有一个类,它具有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值,我可以通过方法检索这些值。这部分很简单,但是将每一行与同一个图表相关联就是我遇到的麻烦。我该如何处理这个问题?
答案 0 :(得分: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)