Matplotlib - swarmplot

category
URL
date
Jan 27, 2023
slug
Matplotlib-swarmplot
author
status
Public
tags
Playdata_Python
summary
Matplotlib - swarmplot
type
Post
thumbnail
updatedAt
Jan 27, 2023 06:41 AM

swarmplot()

  • swarm plot은 strip plot과 매우 흡사
  • swarm plot에서는 데이터를 마커로 표현할 때 절대로 겹치지 않게 표현 그 점에서 strip plot(다른 축의 방향으로 랜덤하게 찍을 뿐 겹치게도 찍음) 과 차이점
  • 정확한 데이터의 분포를 표현하기에 더 없이 좋은 그래프지만 아주 큰 스케일의 데이터를 표현하기에 필요한 너비가 너무 넓어져 이떄는 사용하기에 적합하지 않음
 
1.숫자 값을 갖는 데이터의 단일 변량의 분포를 swarm plot으로 표현
  • 각각의 데이터 마커가 서로 겹치지 않게 표현하고 있음.
tips = sns.load_dataset("tips")
sns.swarmplot(data=tips, x="total_bill")
notion image
 
2.y값에 카테고리 자료형을 갖는 column을 추가
  • 각 카테고리마다의 swarm plot으로 쪼갠다.
# y값에 카테고리 자료형을 갖는 column을 추가
sns.swarmplot(data=tips,x="total_bill",y="day")
notion image
 
3.swarm plot을 vertical 방향으로 표현 x값에 카테고리 자료형 y값에 숫자형 데이터 설정 가능
# x,y축 변환 가능
sns.swarmplot(data=tips,x="day",y="total_bill")
notion image
4.hue 키워드 인수를 추가해서 변량을 하나 더 추가
# hue 키워드 인수 추가
sns.swarmplot(data=tips,x="total_bill",y="day",hue='sex')
notion image
 
5.dodge=True
  • dodge=True 키워드 인수를 통해 hue로 나눈 카테고리 값을 완전히 분리시켜 그래프로 표현
  • strip plot과 다르게 swarm plot은 그래프의 크기가 데이터를 표현할만큼 충분히 크지 않으면 표현에 생략된 마커가 발생 될 수 있음.
    • 크기가 컴퓨터 화면에 다 보이면 오류가 안생김
# dodge=True
sns.swarmplot(data=tips,x="total_bill",y="day",hue='sex', dodge=True)
 
notion image
 
6.scatter()메서드
  • scatter()메서드의 키워드 인수를 작성해서 사용자가 원하는 시각적 효과를 커스텀하게 적용 가능
# scatter() 메서드
sns.swarmplot(
    data=tips, x="total_bill", y="day",
    marker="x",linewidth=1,
)
notion image