Pandas로 여러 개의 막대그래프(barplot)를 그릴 때 그룹 내 막대 사이의 간격을 조절하고 싶다면 plot() 메서드의 linewidth 매개변수를 활용하면 됩니다. 막대의 테두리 색(edgecolor)을 흰색으로 지정하고 선 두께를 늘리면 막대 사이에 시각적인 공백이 생겨 마치 간격이 넓어진 것처럼 표현됩니다.
구현 단계
- 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백을 자동으로 조정합니다.
- 두 개의 열(column)을 가진 딕셔너리를 생성합니다.
- 딕셔너리로부터 2차원 테이블 형태의 데이터프레임(DataFrame)을 만듭니다.
- plot() 메서드로 데이터프레임을 막대그래프로 시각화하며, linewidth 값을 조절해 막대 사이 간격을 변경합니다.
- 범례(legend)를 그래프에 배치합니다.
- show() 메서드를 호출해 최종 그림을 화면에 표시합니다.
예제 코드
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
d = {'Column 1': [i for i in range(10)],
'Column 2': [i * i for i in range(10)]}
df = pd.DataFrame(d)
df.plot(kind='bar', edgecolor='white', linewidth=1)
plt.legend(loc="upper left")
plt.show()
실행 결과

핵심 포인트
여기서 중요한 것은 edgecolor='white'와 linewidth의 조합입니다. 막대의 테두리 색을 배경색과 동일한 흰색으로 지정한 뒤 선 두께를 키우면, 테두리가 배경과 같은 색으로 렌더링되어 막대 사이에 실제 간격이 존재하는 것처럼 시각적으로 구분됩니다. linewidth 값을 더 크게 설정할수록 막대 사이의 간격이 넓어지므로, 원하는 밀도에 맞춰 값을 조정하면 됩니다.