Ich möchte die Obergrenze der y-Achse auf 'auto' setzen, aber ich möchte die Untergrenze der y-Achse so halten, dass sie immer Null ist. Ich habe 'auto' und 'autorange' ausprobiert, aber diese scheinen nicht zu funktionieren. Vielen Dank im Voraus.
Hier ist mein 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
quelle
quelle
plt.xlim
oderplt.ylim
festlegen.Stellen Sie einfach
xlim
eine der Grenzen ein:quelle
xmin
undxmax
wurden zugunsten vonleft
undright
in Matplotlib 3.0 abgelehnt .Wie oben erwähnt und gemäß der Matplotlib-Dokumentation können die x-Grenzen einer bestimmten Achse
ax
mit derset_xlim
Methode dermatplotlib.axes.Axes
Klasse festgelegt werden.Zum Beispiel,
Ein Limit kann unverändert bleiben (z. B. das linke Limit):
Um die x-Grenzen der aktuellen Achse
matplotlib.pyplot
festzulegen, enthält das Modul diexlim
Funktion, die nurmatplotlib.pyplot.gca
und umschließtmatplotlib.axes.Axes.set_xlim
.Verwenden Sie für die y-Grenzen
matplotlib.axes.Axes.set_ylim
odermatplotlib.pyplot.ylim
. Die Schlüsselwortargumente sindtop
undbottom
.quelle
Fügen Sie einfach einen Punkt auf @silvio hinzu: Wenn Sie die Achse verwenden, um wie zu zeichnen
figure, ax1 = plt.subplots(1,2,1)
. Dannax1.set_xlim(xmin = 0)
funktioniert auch!quelle