L’axe Y de Python Matplotlib coche le côté droit du tracé

J’ai un tracé de ligne simple et je dois déplacer les graduations de l’axe des y du côté gauche (par défaut) du tracé vers le côté droit. Des idées sur la façon de faire cela?

Utilisez ax.yaxis.tick_right()

par exemple:

 from matplotlib import pyplot as plt f = plt.figure() ax = f.add_subplot(111) ax.yaxis.tick_right() plt.plot([2,3,4,5]) plt.show() 

entrer la description de l'image ici

Pour les étiquettes de droite, utilisez ax.yaxis.set_label_position("right") , c’est-à-dire:

 f = plt.figure() ax = f.add_subplot(111) ax.yaxis.tick_right() ax.yaxis.set_label_position("right") plt.plot([2,3,4,5]) ax.set_xlabel("$x$ /mm") ax.set_ylabel("$y$ /mm") plt.show() 

La réponse de Joaquin fonctionne, mais a pour effet secondaire de supprimer les tiques du côté gauche des axes. Pour corriger cela, suivez tick_right() avec un appel à set_ticks_position('both') . Un exemple révisé:

 from matplotlib import pyplot as plt f = plt.figure() ax = f.add_subplot(111) ax.yaxis.tick_right() ax.yaxis.set_ticks_position('both') plt.plot([2,3,4,5]) plt.show() 

Le résultat est un tracé avec des tiques des deux côtés, mais cochez les étiquettes à droite.

entrer la description de l'image ici

C’est juste le cas où quelqu’un demande (comme je l’ai fait), c’est également possible quand on utilise subplot2grid. Par exemple:

 import matplotlib.pyplot as plt plt.subplot2grid((3,2), (0,1), rowspan=3) plt.plot([2,3,4,5]) plt.tick_params(axis='y', which='both', labelleft='off', labelright='on') plt.show() 

Cela montrera ceci:

entrer la description de l'image ici