Matplotlib suptitle prints over old title


问题内容

I am trying to use suptitle to print a title, and I want to occationally
replace this title. Currently I am using:

self.ui.canvas1.figure.suptitle(title)

where figure is a matplotlib figure (canvas1 is an mplCanvas, but that is not
relevant) and title is a python string.

Currently, this works, except for the fact that when I run this code again
later, it just prints the new text on top of the old, resulting in a gargeled,
unreadable title.

How do you replace the old suptitle of a figure, instead of just printing
over?

Thanks,

Tyler


问题答案:

figure.suptitle returns a matplotlib.text.Text instance. You can save it
and set the new title:

txt = fig.suptitle('A test title')
txt.set_text('A better title')
plt.draw()