Я заметил, что, вызывая plt.legend() перед установкой свойств линии линии, строки, содержащие поле легенды, не были скорректированы в соответствии с настройками. вот пример сюжет и функция используется для установки условных обозначений и сюжетной линии свойства:matplotlib устанавливает легенду и свойства линий линий через одну функцию
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(range(10), '-x', label = 'legend text')
ax.plot(2 * range(10))
leg = plt.legend(title = 'legend here')
def plotprop_adj(ax, leg, fs = 16, lw = 2, ms = 10)
ltext = leg.get_texts()
for item in ltext:
item.set_fontsize(fs)
for ln in ax.lines:
ln.set_linewidth(lw)
ln.set_markersize(ms)
plotprop_adj(ax, leg) # leaves lines in legend box with
#+ different properties than the corresponding plots
Следовательно, я пытался вручную установить свойства строки в пределах легенды следующим образом (добавить в plotprop_adj (...)):
def plotprop_adj(ax, leg, fs = 16, lw = 2, ms = 10)
[...]
leg_ln = leg.get_lines()
for ln in leg_ln:
ln.set_linewidth(lw)
ln.set_markersize(ms)
в результате линия жгутов окна легенды имеет право толщины, но длина почти половины, а размер маркеров не меняется.