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. Utilisationbottom
à la place.ax.set_ylim(bottom=0)
Vous devez vous connecter pour publier un commentaire.
La plage doit être mis en après l'intrigue.
Si
ymin
est changé avant de traçage, il en résultera une plage de [0, 1].Edit: le
ymin
argument a été remplacé parbottom
:ymax
inchangé encore faut désactiver la mise à l'échelle automatique.1.0
.Essayer cette
doc chaîne de caractères comme suit:
subplots
,ax
axes objets etc.Noter que
ymin
sera supprimée dans Matplotlib 3.2 Matplotlib 3.0.2 de la documentation.Utilisation
bottom
à la place: