Je souhaite définir la limite supérieure de l'axe y sur «auto», mais je souhaite que la limite inférieure de l'axe y soit toujours égale à zéro. J'ai essayé «auto» et «autorange», mais cela ne semble pas fonctionner. Merci d'avance.
Voici mon code:
import matplotlib.pyplot as plt
def plot(results_plt,title,filename):
############################
# Plot results
# mirror result table such that each parameter forms an own data array
plt.cla()
#print results_plt
XY_results = []
XY_results = zip( *results_plt)
plt.plot(XY_results[0], XY_results[2], marker = ".")
plt.title('%s' % (title) )
plt.xlabel('Input Voltage [V]')
plt.ylabel('Input Current [mA]')
plt.grid(True)
plt.xlim(3.0, 4.2) #***I want to keep these values fixed"
plt.ylim([0, 80]) #****CHANGE**** I want to change '80' to auto, but still keep 0 as the lower limit
plt.savefig(path+filename+'.png')
python
matplotlib
vietnastee
la source
la source
plt.xlim
ouplt.ylim
pour définir les limites de l'axe actuel.Il suffit de définir l'
xlim
une des limites:la source
xmin
etxmax
ont été déconseillés en faveur deleft
etright
dans Matplotlib 3.0.Comme mentionné ci-dessus et selon la documentation matplotlib, les limites x d'un axe donné
ax
peuvent être définies en utilisant laset_xlim
méthode de lamatplotlib.axes.Axes
classe.Par exemple,
Une limite peut rester inchangée (par exemple, la limite de gauche):
Pour définir les limites x de l'axe actuel, le
matplotlib.pyplot
module contient laxlim
fonction qui encapsulematplotlib.pyplot.gca
etmatplotlib.axes.Axes.set_xlim
.De même, pour les limites y, utilisez
matplotlib.axes.Axes.set_ylim
oumatplotlib.pyplot.ylim
. Les arguments de mot-clé sonttop
etbottom
.la source
Ajoutez simplement un point sur @silvio: si vous utilisez un axe pour tracer comme
figure, ax1 = plt.subplots(1,2,1)
. Puisax1.set_xlim(xmin = 0)
fonctionne aussi!la source