Mise en place Matplotlib du texte, par exemple suptitle à l'intérieur du cadre

Jusqu'à présent j'ai placé mes suptitles au-dessus du cadre, comme ceci:

enter image description here

Comment puis-je obtenir le suptitles de l'image dans le cadre?

Jusqu'à présent, j'ai une solution qui imprime un texte et le met sur la bonne position avec XLIM et ylim. Cependant, c'est errorprone et si le texte est différent, il a juste l'air lourd. Est-il un moyen de régler le suplabel dans le cadre? Ou simplement placer un texte sous le cadre et centré? il serait vraiment pratique, si je n'ai pas besoin de connaître les données affichées à l'intérieur du cadre.

22
demandé sur tarrasch 2012-10-18 19:06:44

2 réponses

votre solution en utilisant text est aussi ma solution. Cependant, vous n'avez pas besoin de calculer la position basée sur xlim et ylim. Si vous définissez transform=ax.transAxes les coordonnées de positionnement du texte sont considérées comme relatives aux axes délimitant la boîte (0,0 étant le coin inférieur gauche). Comme ceci:

data = range(1,10);
fig = figure()
for i in range(6):
    ax = fig.add_subplot(2,3,i)

    ax.text(.5,.9,'centered title',
        horizontalalignment='center',
        transform=ax.transAxes)

    ax.plot(data)
show()

Plot showing text relative to axes bounding box.

j'Espère que ça aide!

25
répondu Tobold 2014-05-05 09:56:53

avez-vous envisagé axes.title? Vous pouvez voir la documentation de ici. Vous pouvez également passer des coordonnées x et y comme des arguments de mot-clé ax.title("my title", x=0.5, y=0.6).

J'espère que cela vous aidera.

27
répondu dmcdougall 2012-10-18 16:01:31