В моем случае использования мне нужно построить несколько из них. В этом случае я получаю только запись легенды для последней комбинации строка+патч.
Код: Выделить всё
import numpy as np
import matplotlib.pyplot as plt
def plot(x, y, ax, col, group, **kwargs):
hline, = ax.plot(x, y, 'k--', color=col)
hpatch = ax.fill_between(x, y+10, y-10, color=col, alpha=0.5)
ax.legend([(hline, hpatch)], [f"group {group}: Mean + interval"])
fig, ax = plt.subplots()
x = np.linspace(1, 100, 100)
plot(x, x, ax, "C0", 1)
plot(x, x+30, ax, "C1", 2)
plot(x, x+60, ax, "C2", 3)

Обратите внимание на наличие только последней (группы 3) записи в легенде.
Есть ли способ включить в легенду все группы линий/путей, чтобы (в данном случае) в легенде было 3 элемента?
Бонусные баллы, если это можно полностью обработать с помощью функции построения графика, избегая необходимости передавать дескрипторы из функции построения графика.
Этот вопрос не касается нескольких отдельных легенд.>
Подробнее здесь: https://stackoverflow.com/questions/749 ... -plot-func
Мобильная версия