Я хочу создать отдельную легенду (например, для нескольких участков, совместно использующих похожие элементы) через
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.legend(handles=[
mpl.lines.Line2D([0], [0],linestyle='-' ,marker='.',markersize=10,label='example')
]
,loc='upper left'
,bbox_to_anchor=(1, 1)
)
но я не могу понять, как добавить строки ошибок.
Итак, как мне создать отдельную легенду с маркерами и панелями ошибок?
Для ясности легенда должна выглядеть так, как показано в примере ниже, то есть строка с маркером + строка ошибки.
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,5,5)
y=x
yerr=np.random.rand(5,1)*5e-1
fig,ax=plt.subplots(nrows=1,ncols=1)
ax.errorbar(x=x,y=y,yerr=yerr,marker='.',ms=10,label='example')
ax.legend(loc='upper left'
,bbox_to_anchor=(1, 1)
)
Edit:
Возможный обходной путь - извлечь метки и маркеры из объекта ax
,
т.е. через
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,5,5)
y=x
yerr=np.random.rand(5,1)*5e-1
fig,ax=plt.subplots(nrows=1,ncols=1, constrained_layout=True)
ax.errorbar(x=x,y=y,yerr=yerr,marker='.',ms=10,label='example',legend=None)
handles,labels=ax.get_legend_handles_labels()
fig.legend(handles=handles,labels=labels
,loc='upper right'
)