В python matplotlib можно ли включить легенду внутри команды pyplot.plt? - PullRequest
0 голосов
/ 12 февраля 2020

В последнее время я использую встроенную конструкцию списка и строю несколько строк в одной команде для отладки.

Предположим, что следующий код, который создает список или numpy. Массив кривых, строит их при назначении метки каждой строке.

import numpy as np
import matplotlib.pyplot as plt
t=np.linspace(0,np.pi*2,50)
data=[np.sin(n*t) for n in range(3)]
[plt.plot(t,d,label=f'T={n}') for n,d in enumerate(data)]

Конечно, легенда не будет покажем, пока мы не запустим

plt.legend()

Как мы можем включить эту команду в оператор plot, устраняя необходимость в дополнительной строке кода?

Что-то вроде

[plt.plot(t,d,label=f'T={n}',legend=True) for n,d in enumerate(data)]

или даже

[plt.plot(t,d,label=f'T={n}',legend={loc:'best', <insert other legend kwargs here>}) for n,d in enumerate(data)]

Спасибо

...