강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

신원상님의 프로필 이미지
신원상

작성한 질문수

공공데이터로 파이썬 데이터 분석 시작하기

[13/20] scatterplot, regplot, lmplot, swarmplot 의 차이를 분양가 데이터 시각화로 이해하기

regplot 사용 시 2015.5 와 같은 표현 관련 질문

작성

·

428

2

안녕하세요.

좋은 강의 감사합니다.

3분 강의 내용과 다르게, 저는 regplot 시 년도가 2015.5등으로 나오던데, 어떤 옵션을 바꾸어야 강의와 같이 나누어 떨어지는 년도만 나오고, 데이터가 없는 2013~2014, 2020~2021이 나오게 표현할 수 있나요?

답변 1

3

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요.

버전이 변경되면서 내부 옵션이 변경된 것 같은데요.

lmplot 의 내부는 scatterplot, regplot 으로 되어 있어요.

scatterplot  은 수치vs수치데이터를 표현하는 것을 기본으로 하고요.

regplot은 수치vs수치 데이터에 대한 회귀선을 그려줍니다.

lmplot은  regplot의 서브플롯을 그려주는 역할을 하게 됩니다.

regplot을 그릴 때 기본 가정은 x, y축이 모두 수치데이터입니다.

하지만 여기에서 "연도"는 숫자로 되어 있지만 "범주형(카테고리)" 형태에 가깝습니다.

그래서 이렇게 범주형 데이터의 scatterplot을 그릴 때는 해당 실습 아래에 있는 swarmplot을 사용합니다.

여기에서 x 축 값에 소숫점이 들어가는 이유는 버전이 변경되면서 x축에 표기되는 값이 변경되었는데요.

소스코드 내부를 보면 x_bins 와 x_estimator 라는 옵션이 있습니다.

x_estimator 옵션을 보면 np.mean으로 label 값을 표현할 때 평균값을 구해서 표현을 하게 되어 있어요.

그런데 평균을 구하다보면 소숫점이 발생하기 때문에 x축에 소숫점이 표현이 된 것이고요.

여기에서 소숫점을 제외하고 그리고자 한다면 가장 간단한 방법은 x_jitter 옵션을 사용하시는 겁니다.

regplot을 그리게 되면 x 축 값이 같기 때문에 하나의 point 에 여러 점이 찍히게 되는데 그러면 여기에 중복이 되어 점이 찍히기 때문에 점의 갯수가 많은지 적은지 확인이 어렵습니다. 그래서 이걸 조금 흩어지게 그리면 빈도수를 함께 표현할 수 있는게 x_jitter 입니다.

해당 값을 조정해 보시면 몰려있는 값을 흩어지게 표현해서 빈도수를 좀 더 자세히 표현해 보실 수 있습니다.

감사합니다 :) 

신원상님의 프로필 이미지
신원상

작성한 질문수

질문하기