Changement de y à partir de 0 avec matplotlib

Je suis à l'aide de matplotlib pour tracer des données. Voici un code qui fait la même chose:

import matplotlib.pyplot as plt
f, ax = plt.subplots(1)
xdata = [1, 4, 8]
ydata = [10, 20, 30]
ax.plot(xdata, ydata)
plt.show(f)

Cela montre une ligne dans un graphique avec l'axe qui va de 10 à 30. Alors que je suis satisfait de la gamme x, je voudrais changer l'axe de la gamme à partir de 0 et de les ajuster sur l'ymax à tout montrer.

Ma solution actuelle est de faire:

ax.set_ylim(0, max(ydata))

Cependant, je me demande si il existe un moyen de dire simplement: autoscale mais commence à partir de 0.

  • À partir de la documentation: ylim(ymin=1) # adjust the min leaving max unchanged
  • Merci @askewchan. J'ai bien évidemment essayé de faire ce que vous recommandons avant de demander. Cependant, le vrai problème était que j'étais à l'appel de cette méthode avant de traçage.
  • non, évidemment 😛
  • Le ymin argument a été dépréciée en Matplotlib 3.0 et sera supprimée dans 3.2. Utilisation bottom à la place. ax.set_ylim(bottom=0)