Seaborn의 factorplot()을 사용할 때 선 두께(linewidth)와 마커 크기(markersize)를 각각 따로 조절해야 하는 경우가 있습니다. 이때는 scale 매개변수를 활용하면 간단하게 해결할 수 있습니다.
다음 단계에 따라 진행해 보겠습니다.
- 그림(figure) 크기를 설정하고, 서브플롯 주변과 사이의 여백(padding)을 자동으로 조정합니다.
- Seaborn의 온라인 저장소에서 예제 데이터셋을 불러옵니다.
- factorplot() 메서드에서 scale 매개변수를 사용하여 마커 크기를 조절합니다.
- show() 메서드를 호출하여 그림을 화면에 표시합니다.
예제 코드
import seaborn as sns
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
exercise = sns.load_dataset("exercise")
g = sns.factorplot(x="time", y="pulse", hue="kind", data=exercise, ci=95,
markers=['o', '*', 'd'],
scale=1, height=7.0)
plt.show()코드 설명
- markers: 각 hue 범주('kind' 열의 값)에 적용될 마커 스타일을 리스트로 지정합니다.
- scale: 마커의 전체적인 크기를 배율로 조정합니다. 값을 키우면 마커가 커지고, 줄이면 작아집니다.
- height: 생성되는 그래프의 높이(인치 단위)를 지정합니다.
실행 결과

참고 사항
Seaborn 0.9 버전부터 factorplot은 catplot으로 이름이 변경되었습니다. 최신 버전의 Seaborn을 사용하고 있다면 sns.catplot()을 사용하는 것이 좋으며, 기존 sns.factorplot() 호출 시에는 DeprecationWarning이 표시될 수 있습니다. 인자 구조는 대체로 동일하기 때문에 함수 이름만 바꾸면 그대로 사용할 수 있습니다.