Ответ 1
Вы можете передать только left
или right
в set_xlim
:
plt.gca().set_xlim(left=0)
Для оси y используйте bottom
или top
:
plt.gca().set_ylim(bottom=0)
Я хочу установить верхний предел оси y на "auto", но я хочу, чтобы нижний предел оси y всегда был равен нулю. Я попробовал "авто" и "autorange", но они, похоже, не работают. Заранее благодарю вас.
Вот мой код:
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')
Вы можете передать только left
или right
в set_xlim
:
plt.gca().set_xlim(left=0)
Для оси y используйте bottom
или top
:
plt.gca().set_ylim(bottom=0)
Просто установите xlim
для одного из пределов:
plt.xlim(xmin=0)
Просто добавьте точку в @silvio: если вы используете ось для построения как figure, ax1 = plt.subplots(1,2,1)
. Тогда работает ax1.set_xlim(xmin = 0)
!
Как указано выше и согласно документации matplotlib, пределы x заданной оси ax
могут быть установлены с помощью set_xlim
метода класса matplotlib.axes.Axes
.
Например,
>>> ax.set_xlim(left_limit, right_limit)
>>> ax.set_xlim((left_limit, right_limit))
>>> ax.set_xlim(left=left_limit, right=right_limit)
Один предел может быть оставлен без изменений (например, левый предел):
>>> ax.set_xlim((None, right_limit))
>>> ax.set_xlim(None, right_limit)
>>> ax.set_xlim(left=None, right=right_limit)
>>> ax.set_xlim(right=right_limit)
Чтобы установить пределы x текущей оси, модуль matplotlib.pyplot
содержит функцию xlim
, которая просто обертывает matplotlib.pyplot.gca
и matplotlib.axes.Axes.set_xlim
.
def xlim(*args, **kwargs):
ax = gca()
if not args and not kwargs:
return ax.get_xlim()
ret = ax.set_xlim(*args, **kwargs)
return ret
Аналогично, для y-пределов используйте matplotlib.axes.Axes.set_ylim
или matplotlib.pyplot.ylim
. Ключевыми аргументами являются top
и bottom
.