Добавить легенды в сюжет LineCollection
Это производный вопрос, связанный с ответом, данным вУстановите цвета линий в соответствии с картой цветов где было предложено отличное решение для построения нескольких линий с цветами в соответствии с цветовой шкалой (см. код и выходное изображение ниже).
У меня есть список, в котором хранится строка, связанная с каждой построенной линией, например:
legend_list = ['line_1', 'line_2', 'line_3', 'line_4']
и я'Я хотел бы добавить эти строки в виде легенд в поле (где первая строка соответствует первой нанесенной линии и т. д.) в верхнем правом углу графика. Как я мог это сделать?
буду открыт, чтобы не использоватьLineCollection
если это было необходимо, но мне нужно сохранить цветную полосу и цвета каждой линии, связанной с ним.
Код и вывод I '
import numpy
import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection
# The line format you curently have:
lines = [[(0, 1, 2, 3, 4), (4, 5, 6, 7, 8)],
[(0, 1, 2, 3, 4), (0, 1, 2, 3, 4)],
[(0, 1, 2, 3, 4), (8, 7, 6, 5, 4)],
[(4, 5, 6, 7, 8), (0, 1, 2, 3, 4)]]
# Reformat it to what `LineCollection` expects:
lines = [zip(x, y) for x, y in lines]
z = np.array([0.1, 9.4, 3.8, 2.0])
fig, ax = plt.subplots()
lines = LineCollection(lines, array=z, cmap=plt.cm.rainbow, linewidths=5)
ax.add_collection(lines)
fig.colorbar(lines)
# Manually adding artists doesn't rescale the plot, so we need to autoscale
ax.autoscale()
plt.show()