В matplotlib
я хочу построить легенду и поставить легенду под рисунком. Поэтому я пишу такие коды:
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(5, 7), dpi=300)
ax = fig.add_subplot(111, position=[0.1, 0.28, 0.8, 0.65])
labels = []
for i in range(20):
ax.plot(data[i, :])
labels.append(str(i))
ax.legend(labels, ncol=10, loc="lower center", bbox_to_anchor=(0.5, -0.15), prop={"size":6})
plt.show()
Хорошо работает. Но на самом деле я не уверен, какой высоты легенда , например, если я изменю ncol=5
или ncol=2
, вершина легенды и низ фигуры будут перекрываться. На мой взгляд, такая ситуация возникает потому, что первые два параметра bbox_to_anchor
являются координатами нижнего левого угла ограничительной рамки. Конечно, изменение bbox_to_anchor=(0.5, 1)
для установки легенды выше также будет решением, но, на мой взгляд, лучшим решением может быть установка параметров bbox_to_anchor
в качестве координат верхнего левого угла и опускание bbox go сверху вниз.
Итак, мой вопрос, есть ли способ сделать начало координат bbox_to_anchor
верхним, но не нижним?
Спасибо!