Допустим, я вычислил матрицу, которую я хотел бы построить (xy, в коде), я также хотел бы иметь возможность указать, что в действительности означает каждую строку матрицы в соответствии с одним из массивов, которые вошли в построение матрицы в первую очередь (то есть х)
x = 2**np.array([8, 9, 10, 11, 12])
y = np.array([0.0001, 0.001, 0.01, 0.05, 0.06, 0.09, 0.1, 0.17, 0.3,
0.5, 0.7, 1, 3, 5, 10, 15, 20, 25, 30, 35, 40])
y = y[:, np.newaxis]
xy = x*y
plt.plot(xy, label=x)
plt.legend()

Как вы можете видеть в примере, код Python печатает весь массив в легенду (я знаю, что это ожидается от кода), но я ищу легенду, которую можно прочитать
Синий - 256
Желтый - 512
Зеленый - 1024
Красный - 2048
Фиолетовый - 4096
Кто-нибудь знает способ получить это поведение БЕЗ , используя цикл for?