Chcę ustawić górną granicę osi Y na „auto”, ale chcę, aby dolna granica osi Y zawsze wynosiła zero. Próbowałem „auto” i „autorange”, ale wydaje się, że nie działają. Z góry dziękuję.
Oto mój kod:
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
źródło
źródło
plt.xlim
lub,plt.ylim
aby ustawić limity dla bieżącej osi.Po prostu ustaw
xlim
jeden z limitów:źródło
xmin
ixmax
została zastąpionaleft
orazright
w matplotlib 3.0.Jak wspomniano wcześniej i zgodnie z dokumentacją matplotlib, granice x danej osi
ax
można ustawićset_xlim
metodąmatplotlib.axes.Axes
klasy.Na przykład,
Jeden limit może pozostać niezmieniony (np. Lewy limit):
Aby ustawić granice x bieżącej osi,
matplotlib.pyplot
moduł zawieraxlim
funkcję, która po prostu zawijamatplotlib.pyplot.gca
imatplotlib.axes.Axes.set_xlim
.Podobnie w przypadku granic y użyj
matplotlib.axes.Axes.set_ylim
lubmatplotlib.pyplot.ylim
. Argumentami słów kluczowych sątop
ibottom
.źródło
Po prostu dodaj punkt na @silvio: jeśli używasz osi do rysowania jak
figure, ax1 = plt.subplots(1,2,1)
. Wtedyax1.set_xlim(xmin = 0)
też działa!źródło