복붙노트

[PYTHON] 별도의 팬더 데이터 프레임을 서브 그림으로 플로팅하려면 어떻게해야합니까?

PYTHON

별도의 팬더 데이터 프레임을 서브 그림으로 플로팅하려면 어떻게해야합니까?

나는 Pandas DataFrames가 동일한 가치 척도를 공유하지만 다른 열과 인덱스를 가지고 있습니다. df.plot ()을 호출 할 때 별도의 플롯 이미지를 얻습니다. 내가 진정으로 원하는 것은 서브 플로트와 같은 줄거리에 모든 것을 포함시키는 것입니다.하지만 불행히도 어떻게하면 도움이되는지에 대한 해결책을 찾을 수 없었습니다.

해결법

  1. ==============================

    1.matplotlib를 사용하여 수동으로 하위 플롯을 만든 다음 ax 키워드를 사용하여 특정 서브 플로트에 데이터 프레임을 플로팅 할 수 있습니다. 예를 들어 4 개의 서브 플로트 (2x2)의 경우 :

    matplotlib를 사용하여 수동으로 하위 플롯을 만든 다음 ax 키워드를 사용하여 특정 서브 플로트에 데이터 프레임을 플로팅 할 수 있습니다. 예를 들어 4 개의 서브 플로트 (2x2)의 경우 :

    import matplotlib.pyplot as plt
    
    fig, axes = plt.subplots(nrows=2, ncols=2)
    
    df1.plot(ax=axes[0,0])
    df2.plot(ax=axes[0,1])
    ...
    

    여기서 axes는 다른 subplot 축을 보유하는 배열이며 인덱스 축만으로 축에 액세스 할 수 있습니다. 공유 x 축을 원할 경우 sharex = True를 plt.subplots에 제공 할 수 있습니다.

  2. ==============================

    2.예를 볼 수 있습니다. joris 대답을 시연하는 문서에서. 또한 문서에서 판다 플롯 함수 내에서 subplots = True 및 layout = (,)을 설정할 수도 있습니다.

    예를 볼 수 있습니다. joris 대답을 시연하는 문서에서. 또한 문서에서 판다 플롯 함수 내에서 subplots = True 및 layout = (,)을 설정할 수도 있습니다.

    df.plot(subplots=True, layout=(1,2))
    

    또한 여기에 설명 된 바와 같이 221, 222, 223, 224 등과 같은 서브 플롯 그리드 매개 변수를 사용하는 fig.add_subplot ()을 사용할 수도 있습니다. subplots를 포함한 판다 데이터 프레임에 좋은 음모의 예가이 ipython 노트북에서 볼 수 있습니다.

  3. ==============================

    3.figure와 subplot을 호출하는 익숙한 Matplotlib 스타일을 사용할 수 있지만 plt.gca ()를 사용하여 현재 축을 지정하기 만하면됩니다. 예 :

    figure와 subplot을 호출하는 익숙한 Matplotlib 스타일을 사용할 수 있지만 plt.gca ()를 사용하여 현재 축을 지정하기 만하면됩니다. 예 :

    plt.figure(1)
    plt.subplot(2,2,1)
    df.A.plot() #no need to specify for first axis
    plt.subplot(2,2,2)
    df.B.plot(ax=plt.gca())
    plt.subplot(2,2,3)
    df.C.plot(ax=plt.gca())
    

    기타...

  4. ==============================

    4.이것을 사용할 수 있습니다 :

    이것을 사용할 수 있습니다 :

    fig = plt.figure()
    ax = fig.add_subplot(221)
    plt.plot(x,y)
    
    ax = fig.add_subplot(222)
    plt.plot(x,z)
    ...
    
    plt.show()
    
  5. ==============================

    5.위의 @joris 응답을 바탕으로 이미 하위 플롯에 대한 참조를 설정 한 경우 참조를 사용할 수도 있습니다. 예를 들어,

    위의 @joris 응답을 바탕으로 이미 하위 플롯에 대한 참조를 설정 한 경우 참조를 사용할 수도 있습니다. 예를 들어,

    ax1 = plt.subplot2grid((50,100), (0, 0), colspan=20, rowspan=10)
    ...
    
    df.plot.barh(ax=ax1, stacked=True)
    
  6. ==============================

    6.팬더를 전혀 사용하지 않아도됩니다. 다음은 cat 주파수의 matplotlib 플롯입니다.

    팬더를 전혀 사용하지 않아도됩니다. 다음은 cat 주파수의 matplotlib 플롯입니다.

    x = np.linspace(0, 2*np.pi, 400)
    y = np.sin(x**2)
    
    f, axes = plt.subplots(2, 1)
    for c, i in enumerate(axes):
      axes[c].plot(x, y)
      axes[c].set_title('cats')
    plt.tight_layout()
    
  7. from https://stackoverflow.com/questions/22483588/how-can-i-plot-separate-pandas-dataframes-as-subplots by cc-by-sa and MIT license