y 축의 상한을 ‘auto’로 설정하고 싶지만 y 축의 하한을 항상 0으로 유지하고 싶습니다. ‘자동’과 ‘자동 범위’를 시도했지만 작동하지 않는 것 같습니다. 미리 감사드립니다.
내 코드는 다음과 같습니다.
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)
답변
앞서 말했듯이 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
입니다.
답변
@silvio에 점을 추가하십시오 figure, ax1 = plt.subplots(1,2,1)
. 축을 사용하여 . 그런 다음 ax1.set_xlim(xmin = 0)
작동합니다!