python échelle - Tracer les axes logarithmiques avec matplotlib en python




3 Answers

Vous pouvez utiliser la méthode Axes.set_yscale . Cela vous permet de changer l'échelle après la création de l'objet Axes . Cela vous permettrait également de créer un contrôle permettant à l'utilisateur de choisir l'échelle si nécessaire.

La ligne pertinente à ajouter est:

ax.set_yscale('log')

Vous pouvez utiliser 'linear' pour revenir à une échelle linéaire. Voici à quoi ressemblerait votre code:

import pylab
import matplotlib.pyplot as plt
a = [pow(10, i) for i in range(10)]
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1)

line, = ax.plot(a, color='blue', lw=2)

ax.set_yscale('log')

pylab.show()

graphique cercle

Je veux tracer un graphique avec un axe logarithmique en utilisant matplotlib.

J'ai lu les documents, mais je n'arrive pas à comprendre la syntaxe. Je sais que c'est quelque chose de simple comme 'scale=linear' dans les arguments de l'intrigue, mais je n'arrive pas à le faire correctement

Exemple de programme:

import pylab
import matplotlib.pyplot as plt
a = [pow(10, i) for i in range(10)]
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1)

line, = ax.plot(a, color='blue', lw=2)
pylab.show()



Vous avez simplement besoin d'utiliser la semilogy au lieu de l'intrigue:

from pylab import *
import matplotlib.pyplot  as pyplot
a = [ pow(10,i) for i in range(10) ]
fig = pyplot.figure()
ax = fig.add_subplot(2,1,1)

line, = ax.semilogy(a, color='blue', lw=2)
show()



Si vous voulez changer la base du logarithme, ajoutez simplement:

plt.yscale('log',basey=2) 
# where basex or basey are the bases of log



Related

python matplotlib scale logarithm