я имел обыкновение использовать следующее, чтобы получить ширину легенды на рисунке координаты:Получение ширины легенды в Matplotlib
fig = plt.figure()
ax = fig.add_axes((0.1, 0.1, 0.8, 0.8))
ax.scatter(xdata, ydata)
legend = ax.legend(loc="lower left", borderaxespad=0)
legend_width = legend.get_window_extent().inverse_transformed(fig.transFigure).width
Я недавно обновил Matplotlib до версии 1.5.1. Ширина (и высота) всегда равна 1.0 перед преобразованием, а затем после преобразования они являются чрезвычайно малыми значениями (width = 0.0015625, height = 0.0020833), которые не имеют смысла в координатах фигуры.
Есть ли другой способ получить ширину легенды? Или это ошибка?
Спасибо!
Спасибо, это действительно исправить. Я вызывал plt.draw(), но этого было недостаточно для обновления этих значений. Есть ли другой способ получить ширину окна легенды, которую я должен использовать вместо этого? У меня есть несколько осей на рисунке, и я хочу, чтобы ширина одной из этих осей соответствовала ширине легенды, так что все хорошо складывается ... –
Plt.draw возвращается к draw_idle. Я думаю, что есть способ установить ширину легенды, но я не уверен (и на телефоне). – tacaswell