이 포스팅은 시각화 정리 시리즈 16 편 중 3 번째 글 입니다.
산점도 그래프를 그려보자.
연습 kaggle notebook
두 데이터의 관계를 알아볼 때 용이!
산점도는 실제 데이터를 2차원 평면에 plot함으로써 대략적인 분포를 파악할 수 있다.
# Useful for:
# Visualize the relationship between data.
# More info:
# https://en.wikipedia.org/wiki/Scatter_plot
# ----------------------------------------------------------------------------------------------------
# get the data
PATH = '/kaggle/input/the-50-plot-challenge/midwest_filter.csv'
df = pd.read_csv(PATH)
# ----------------------------------------------------------------------------------------------------
# instanciate the figure
fig = plt.figure(figsize = (12, 6))
ax = fig.add_subplot(1,1,1,)
# ----------------------------------------------------------------------------------------------------
# 각 그룹마다 다르게 묶은 뒤, 연속해서 plot한다. 이럴 경우 각 포인트가 그룹마다 다른 색으로 칠해진다.
for cat in sorted(list(df["category"].unique())):
# filter x and the y for each category
ar = df[df["category"] == cat]["area"]
pop = df[df["category"] == cat]["poptotal"]
# plot the data
ax.scatter(ar, pop, label = cat, s = 10)
# ----------------------------------------------------------------------------------------------------
# prettify the plot
# 맨 위 줄과 오른쪽 줄을 없애서 보기 편하게
ax.spines["top"].set_color("None")
ax.spines["right"].set_color("None")
# set a specific label for each axis
ax.set_xlabel("Area")
ax.set_ylabel("Population")
# change the lower limit of the plot, this will allow us to see the legend on the left
ax.set_xlim(-0.01)
ax.set_title("Scatter plot of population vs area.")
ax.legend(loc = "upper left", fontsize = 10)