Я написал функцию, которая делает это автоматически, где метка представлена в виде легенды:
import numpy
import matplotlib.pyplot as plt
def setlabel(ax, label, loc=2, borderpad=0.6, **kwargs):
legend = ax.get_legend()
if legend:
ax.add_artist(legend)
line, = ax.plot(numpy.NaN,numpy.NaN,color='none',label=label)
label_legend = ax.legend(handles=[line],loc=loc,handlelength=0,handleheight=0,handletextpad=0,borderaxespad=0,borderpad=borderpad,frameon=False,**kwargs)
label_legend.remove()
ax.add_artist(label_legend)
line.remove()
fig,ax = plt.subplots()
ax.plot([1,2],[1,2])
setlabel(ax, '(a)')
plt.show()
Положением метки можно управлять с помощью аргумента loc
, расстоянием до оси можно управлять с помощью аргумента borderpad
(отрицательное значение выталкивает метку за пределы фигуры), также можно использовать другие параметры, доступные для legend
, такие как fontsize
. Приведенный выше скрипт дает такую цифру:
person
Hongcheng Ni
schedule
13.06.2017