web-dev-qa-db-fra.com

Comment ajouter une variable à Python plt.title?

J'essaie de tracer de nombreux diagrammes et, pour chaque diagramme, je souhaite utiliser une variable pour les étiqueter. Comment puis-je ajouter une variable à plt.title? Par exemple:

import numpy as np
import matplotlib.pyplot as plt

plt.figure(1)
plt.ylabel('y')
plt.xlabel('x')

for t in xrange(50, 61):
    plt.title('f model: T=t')

    for i in xrange(4, 10):
        plt.plot(1.0 / i, i ** 2, 'ro')

    plt.legend
    plt.show()

Dans l'argument de plt.title(), je veux que t soit une variable changeant avec la boucle.

13

Vous pouvez changer une valeur dans une chaîne en utilisant %. La documentation peut être trouvée ici.

Par exemple:

num = 2
print "1 + 1 = %i" % num # i represents an integer

Cela produira:

1 + 1 = 2

Vous pouvez également le faire avec des flottants et vous pouvez choisir le nombre de décimales à imprimer:

num = 2.000
print "1.000 + 1.000 = %1.3f" % num # f represents a float

donne:

1.000 + 1.000 = 2.000

En utilisant ceci dans votre exemple pour mettre à jour t dans le titre de la figure:

plt.figure(1)
plt.ylabel('y')
plt.xlabel('x')

for t in xrange(50,61):
    plt.title('f model: T=%i' %t)

    for i in xrange(4,10):
        plt.plot(1.0/i,i**2,'ro')

    plt.legend
    plt.show()
18
DavidG

Vous pouvez utiliser le formatage d'impression.

  1. plt.title('f model: T= {}'.format(t)) ou
  2. plt.title('f model: T= %d' % (t)) # c style print
9
thewaywewere