Прочитав следующую статью, мне удалось разместить легенду вне сюжета.
код:
import matplotlib.pyplot as pyplot
x = [0, 1, 2, 3, 4]
y = [xx*xx for xx in x]
fig = pyplot.figure()
ax = fig.add_subplot(111)
box = ax.get_position()
ax.set_position([box.x0, box.y0, box.width*0.8, box.height])
ax.plot(x, y)
leg = ax.legend(['abc'], loc = 'center left', bbox_to_anchor = (1.0, 0.5))
#pyplot.show()
fig.savefig('aaa.png', bbox_inches='tight')
pyplot.show()
отображает правильный сюжет с легендой вне его. Но когда я сохраняю его как файл с fig.savefig()
, легенда усекается.
Некоторые поисковые запросы показывают мои обходные пути, такие как добавление bbox_extra_artists=[leg.legendPatch]
или bbox_extra_artists=[leg]
в savefig()
, но не работали.
Каков правильный способ сделать это? Версия Matplotlib - 0.99.3.
Спасибо.