이 포스팅은 시각화 정리 시리즈 16 편 중 6 번째 글 입니다.

  • Part 1 - 01: 라이브러리
  • Part 2 - 02: matplotlib 알아보기
  • Part 3 - 03: 산점도
  • Part 4 - 04: Circling을 통한 버블 플롯
  • Part 5 - 05: 선형 회귀 선을 포함한 산점도
  • Part 6 - This Post
  • Part 7 - 07: Counts plot
  • Part 8 - 08: Marginal Histogram
  • Part 9 - 09: Correlation plot
  • Part 10 - 09: Marginal Boxplot
  • Part 11 - 10: Pair plot
  • Part 12 - 11: Diverging Bars
  • Part 13 - 12: Diverging lines with text
  • Part 14 - 13: Diverging Lollipop Chart with Markers
  • Part 15 - 14: Area chart
  • Part 16 - 15: Ordered Bar Chart
▼ 목록 보기

카테고리 변수에 대한 y 분포를 그려주는 Strip plot에 대해 알아보자.
연습 kaggle notebook

카테고리 변수와의 y 분포를 한눈에!

이전의 산점도는 연속, 연속 변수에 대한 그래프로 볼 수 있다. 이번에는 x가 카테고리 변수일 때, 각각의 값에 대한 분포가 어떻게 되는지를 알아보자. 이 때 jitter란, 각각의 카테고리에 대해 산점도를 그린 후 겹치는 점에 대해 파악하기 어려운 점을 해결해주는 도구이다.

다운로드 (1) 다운로드 (2)

위 그림은 겹치는 점에 대해 어떤 분포를 갖고 있는 지 알기 어렵다. 그렇기 때문에, 그리는데 있어서 x방향으로 랜덤 수를 주어 겹치지 않게 하는 기능이다.

# Useful for:
# Draw a scatterplot where one variable is categorical.
# This is useful to see the distribution of the points of each category.

# More info:
# https://seaborn.pydata.org/generated/seaborn.stripplot.html

# ----------------------------------------------------------------------------------------------------
# get the data
PATH = '/kaggle/input/the-50-plot-challenge/mpg_ggplot2.csv'
df = pd.read_csv(PATH)

# ----------------------------------------------------------------------------------------------------
# prepare the data for plotting
# separate x and y variables
x = df["cty"]
y = df["hwy"]

# ----------------------------------------------------------------------------------------------------
# instanciate the figure
plt.figure(figsize = (10, 7))

# ----------------------------------------------------------------------------------------------------
# plot the data using seaborn
ax = sns.stripplot(x, y)

# ----------------------------------------------------------------------------------------------------
# prettify the plot

# set title
ax.set_title("Jitter plot");

다운로드 (3)

Reference

Plotting with Python: learn 80 plots STEP by STEP