Я использую следующий пример кода для генерации гистограммы.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 5, 5)
y = np.exp(x)
w = x[1] - x[0]
colors = ['blue' if idx % 2 == 0 else 'red' for idx in range(len(x))]
fig, ax = plt.subplots()
ax.bar(x, y, width=w, color=colors, label='sample plot')
ax.legend()
plt.show()
plt.close(fig)
Я бы хотел показать красный и синий цвета в объекте легенды. Я могу думать о 2 визуально привлекательных идеях. Первая идея состоит в том, чтобы создать два прямоугольных объекта (один красный, другой синий), которые будут центрированы вертикально относительно метки легенды. Вторая идея - наложить половину прямоугольника (красным цветом) на объект легенды (синим цветом). Но я не знаю, как этого достичь. Я посмотрел на документы Matplotlib, я просто запутался. Как я могу сделать это?