본문 바로가기
Python/Basic Data Analysis

[Python] matplotlib 이용하여 히스토그램, 산점도 그리기

by JKyun 2017. 12. 29.

안녕하세요. 우주신 입니다.


이번 시간에는 히스토그램과 산점도 그리는 방법에 대해 배워보겠습니다.



먼저, pandas를 이용하여 웹에서 csv 파일을 불러왔습니다.


상점 번호, 연도, 기간, p1매출액.. 등을 기준으로 데이터프레임을 만들었습니다.


이 중 p1sales의 데이터를 히스토그램과 산점도로 시각화 해보겠습니다.


1. 히스토그램 (Histogram)


plt.hist(df['p1sales'])

-plt.hist() 함수 안에 df의 열 'p1sales' 데이터를 넣었습니다. 


Y축에는 빈도수가, X축에는 매출액을 기준으로 히스토그램이 출력됐습니다.


X축 매출액의 범위를 조정해보겠습니다. 

plt.hist(df['p1sales'], list)

-list 자리에 X축 범위를 지정할 수 있습니다. list에 반복문을 활용하여 0부터 300까지 데이터를 넣은 후, 이를 X축 범위로 적용하였습니다.


첫번째 히스토그램과 비교했을 때 X축의 범위가 바뀐 것을 확인할 수 있습니다.


조금 더 이쁘게 만들어보겠습니다.

plt.hist(df['p1sales'], list, histtype='bar', rwidth=0.9)

-histtype는 히스토그램의 type를 정하는 기능이고, rwidth는 막대 그래프 간의 간격을 설정할 수 있는 기능입니다. 

그 외 더 자세한 기능은 구글링!


훨씬 더 깔끔해졌어요. 마지막으로 X축, Y축 label과 그래프의 제목을 넣어주겠습니다.


plt.xlabel(), plt.ylabel()

-말 그대로 x축 label과 y축 label의 이름을 지정해주는 함수 입니다. x축에는 'Numbers'를 y축에는 'Counting'을 입력했습니다.

plt.title()

-그래프의 메인 제목을 입력하는 함수 입니다.



2. 산점도 (Scatterplot)


산점도는 직교 좌표계에 이용해 두 개 변수 간의 관계를 나타내는 방법입니다.


매 주(Week)에 따른 매출액(p1sales) 간의 관계를 알아보겠습니다.

plt.scatter(X, Y)

-X와 Y의 자리에 각각 df['Week'] 변수와 df['p1sales'] 변수가 입력됐습니다.


X축은 기간, Y축은 매출액을 기준으로 데이터에 해당하는 점들이 찍힌 것을 확인할 수 있습니다.


더 이쁘게 만들어 보겠습니다.

plt.scatter(df['Week'], df['p1sales'], label='skitscat', color='r', s=30, marker='o')

-color는 red로 지정하였고 s는 size의 약자입니다. marker는 점의 type를 설정할 수 있습니다.





수고하셨습니다


댓글