Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib 막대 그래프에서 막대를 오름차순으로 정렬하는 방법

Matplotlib에서 막대 그래프(bar chart)의 막대를 값 기준 오름차순으로 정렬하려면 pandassort_values() 메서드를 활용하면 됩니다. 아래 단계를 따라 해 보세요.

  • 그림(figure) 크기를 설정하고 서브플롯 사이 및 주변의 여백(padding)을 조정합니다.
  • 2차원 테이블 형태의 데이터로 데이터프레임(df)을 생성합니다.
  • 현재 figure에 첫 번째 서브플롯을 추가하고 원본 데이터프레임 df로 막대 그래프를 그립니다.
  • 두 번째 서브플롯을 추가한 뒤, 'marks' 열을 기준으로 정렬한 df_sorted로 막대 그래프를 그립니다.
  • show() 메서드를 사용해 결과를 화면에 표시합니다.

예제 코드

import pandas as pd
from matplotlib import pyplot as plt

plt.rcParams['figure.figsize'] = [7.50, 3.50]
plt.rcParams['figure.autolayout'] = True

df = pd.DataFrame(
   dict(
      names=['John', 'James', 'David', 'Gary', 'Watson'],
      marks=[23, 34, 30, 19, 20]
   )
)

plt.subplot(121)
plt.bar('names', 'marks', data=df, color='red')

plt.subplot(122)
df_sorted = df.sort_values('marks')
plt.bar('names', 'marks', data=df_sorted, color='orange')

plt.show()

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

Matplotlib 막대 그래프에서 막대를 오름차순으로 정렬하는 방법Matplotlib 막대 그래프에서 막대를 오름차순으로 정렬하는 방법

오른쪽 막대 그래프를 살펴보면, 막대들이 값이 작은 것부터 큰 것 순서(오름차순)로 깔끔하게 정렬되어 있는 것을 확인할 수 있습니다. 이처럼 sort_values()를 사용하면 복잡한 추가 처리 없이도 데이터를 원하는 열 기준으로 손쉽게 정렬하여 시각화할 수 있으며, 내림차순 정렬이 필요한 경우에는 ascending=False 옵션만 지정해 주면 됩니다.