[python] 상한값으로 ‘자동’을 설정하지만 matplotlib.pyplot으로 고정 된 하한값을 유지하는 방법

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 제한은 클래스 axset_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. 키워드 인수는 topbottom입니다.


답변

@silvio에 점을 추가하십시오 figure, ax1 = plt.subplots(1,2,1). 축을 사용하여 . 그런 다음 ax1.set_xlim(xmin = 0)작동합니다!


답변