example
анонимной функции. Вы не создаете фактическую функцию example
. fn
хранит функцию, которая имеет свое имя как example
var fn = function example() {
console.error('Hello');
}
var fn2 = function () {
console.error('Hello 2');
}
function example2() {
console.error('Hello 3');
}
console.log(fn.name);
console.log(fn2.name);
console.log(example2.name);
console.log("");
console.log(window['example']);
console.log(window['fn']);
console.log(window['fn2']);
console.log(window['example2']);
Вот один из способов сделать это для нескольких вертикальных легенд. Я выбрал очень простые данные, чтобы обеспечить рабочее решение. Вы можете расширить концепцию до фактических данных
from matplotlib import lines
fig, ax = plt.subplots()
plt.plot([0, 5], [1, 1], label='y=1')
plt.plot([0, 5], [2, 2], label='y=2')
plt.plot([0, 5], [3, 3], label='y=3')
handles, _ = ax.get_legend_handles_labels()
vertical_pos = [5, 7, 10]
colors = ['r', 'g', 'b']
for x, c in zip(vertical_pos, colors):
plt.plot([x, x], [0, 3], color=c, label='Vertical x=%s' %x)
_, labels = ax.get_legend_handles_labels()
for c in colors:
vertical_line = lines.Line2D([], [], marker='|', linestyle='None', color=c,
markersize=10, markeredgewidth=1.5)
handles.append(vertical_line)
plt.legend(handles, labels)
РЕДАКТИРОВАТЬ (используя axvline
вместо plot
)
for x, c in zip(vertical_pos, colors):
ax_ = plt.axvline( x=x, linestyle='-', color=c, label='Vertical x=%s' %x)
_, labels = ax.get_legend_handles_labels()
for c in colors:
vertical_line = lines.Line2D([], [], marker='|', linestyle='None', color=c,
markersize=10, markeredgewidth=1.5)
handles.append(vertical_line)
plt.legend(handles, labels)