Как назначить сразу несколько меток в matplotlib?

У меня есть следующий набор данных:

x = [0, 1, 2, 3, 4]
y = [ [0, 1, 2, 3, 4],
      [5, 6, 7, 8, 9],
      [9, 8, 7, 6, 5] ]

Теперь я рисую это с помощью:

import matplotlib.pyplot as plt
plt.plot(x, y)

Однако я хочу пометить наборы данных за 3 года -этой командой, которая вызывает ошибку, когда .legend()вызывается:

lineObjects = plt.plot(x, y, label=['foo', 'bar', 'baz'])
plt.legend()

File "./plot_nmos.py", line 33, in <module>
  plt.legend()
...
AttributeError: 'list' object has no attribute 'startswith'

Когда я осматриваюlineObjects:

>>> lineObjects[0].get_label()
['foo', 'bar', 'baz']
>>> lineObjects[1].get_label()
['foo', 'bar', 'baz']
>>> lineObjects[2].get_label()
['foo', 'bar', 'baz']

Вопрос

Есть ли элегантный способ назначить несколько меток, просто используя метод .plot()?

48
задан Kit 13 July 2012 в 19:38
поделиться