Pandas: 서브플롯에 여러 dataframe을 그리는 방법


다음 기본 구문을 사용하여 서브플롯에 여러 Pandas DataFrame을 그릴 수 있습니다.

 import matplotlib. pyplot as plt

#define subplot layout
fig, axes = plt. subplots (nrows= 2 , ncols= 2 )

#add DataFrames to subplots
df1. plot (ax=axes[0,0])
df2. plot (ax=axes[0,1])
df3. plot (ax=axes[1,0])
df4. plot (ax=axes[1,1])

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: 서브플롯에 여러 Pandas DataFrame 그리기

4개의 다른 소매점에서의 판매 및 반품에 대한 정보가 포함된 4개의 Panda DataFrame이 있다고 가정해 보겠습니다.

 import pandas as pd

#create four DataFrames
df1 = pd. DataFrame ({' sales ': [2, 5, 5, 7, 9, 13, 15, 17, 22, 24],
                    ' returns ': [1, 2, 3, 4, 5, 6, 7, 8, 7, 5]})

df2 = pd. DataFrame ({' sales ': [2, 5, 11, 18, 15, 15, 14, 9, 6, 7],
                    ' returns ': [1, 2, 0, 2, 2, 4, 5, 4, 2, 1]})

df3 = pd. DataFrame ({' sales ': [6, 8, 8, 7, 8, 9, 10, 7, 8, 12],
                    ' returns ': [1,0, 1, 1, 1, 2, 3, 2, 1, 3]})

df4 = pd. DataFrame ({' sales ': [10, 7, 7, 6, 7, 6, 4, 3, 3, 2],
                    ' returns ': [4, 4, 3, 3, 2, 3, 2, 1, 1, 0]})

다음 구문을 사용하여 2개 행과 2개 열의 레이아웃이 있는 하위 그림에 이러한 각 DataFrame을 그릴 수 있습니다.

 import matplotlib. pyplot as plt

#define subplot layout
fig, axes = plt. subplots (nrows= 2 , ncols= 2 )

#add DataFrames to subplots
df1. plot (ax=axes[0,0])
df2. plot (ax=axes[0,1])
df3. plot (ax=axes[1,0])
df4. plot (ax=axes[1,1]) 

팬더 서브플롯

4개의 DataFrame이 각각 서브플롯에 표시됩니다.

각 DataFrame이 배치되어야 하는 위치를 지정하기 위해 인수를 사용했습니다.

예를 들어, df1 이라는 DataFrame은 행 인덱스 값이 0 이고 열 인덱스 값이 0 인 위치(예: 왼쪽 상단의 서브플롯)에 배치되었습니다.

또한 nrowsncols 인수를 사용하여 하위 플롯의 레이아웃을 변경할 수 있습니다.

예를 들어, 다음 코드는 하위 그림을 행 4개와 열 1개로 구성하는 방법을 보여줍니다.

 import matplotlib. pyplot as plt

#define subplot layout
fig, axes = plt. subplots (nrows= 4 , ncols= 1 )

#add DataFrames to subplots
df1. plot (ax=axes[0])
df2. plot (ax=axes[1])
df3. plot (ax=axes[2])
df4. plot (ax=axes[3]) 

이제 하위 플롯은 4개의 행과 1개의 열이 있는 레이아웃으로 배열됩니다.

서브플롯의 y축과 x축에서 동일한 축척을 가지려면 shareysharex 인수를 사용할 수 있습니다.

예를 들어, 다음 코드는 sharey 인수를 사용하여 모든 하위 도표가 Y축에서 동일한 축척을 갖도록 하는 방법을 보여줍니다.

 import matplotlib. pyplot as plt

#define subplot layout, force subplots to have same y-axis scale
fig, axes = plt. subplots (nrows= 4 , ncols= 1 , sharey= True )

#add DataFrames to subplots
df1. plot (ax=axes[0])
df2. plot (ax=axes[1])
df3. plot (ax=axes[2])
df4. plot (ax=axes[3]) 

이제 각 하위 플롯의 Y축 범위는 0에서 20까지입니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas DataFrame에서 원형 차트를 만드는 방법
Pandas DataFrame에서 포인트 클라우드를 만드는 방법
Pandas DataFrame에서 히스토그램을 만드는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다