15기 데이터 취업 스쿨 / 24일차 스터디노트 / matplotlib 기초, 그래프, 데이터 시각화

구명모·2023년 5월 30일

EDA

목록 보기
4/15
post-thumbnail

♟️시각화 기초

♟️matplotlib

matplotlib 그래프 기본 형태

  • plt.figure(figsize=(a, b))
  • plt.plot(x, y)
  • plt.show

t의 값을 설정해주고 y값을 삼각함수 변수로 설정. 그리고 matplotlib 그래프 기본 형태로 설정해주고 plt.show로 출력

plt.grid(True)로 격자 설정

plt.title()로 제목 설정

plt.xlabel, plt.ylabel 로 각각 x축, y축 내용 설정

각각의 내용을 입력하는 데에는 두가지 방법이 있다. label = "로 바로 설정을 하거나 plt.legend()안에 내용을 입력하는것이다

plt.legend(loc = ) 안에 위아래, 좌우를 구분하는 단어를 넣어 범례 위치를 설정할 수 있다. upper, lower, left, right 또는 안에 숫자를 통해서 지정된 위치에 넣을 수 있다.

그래프를 함수로 설정해서 출력도 가능하다

♟️그래프 커스텀

np.arange로 수열을 설정하고 그래프를 만들어준다. 그래프를 커스텀할때 x, y 값, 그리고 그래프 모양을 커스텀 할 수 있는데
r -- : red --
bs : blue spot
g^ : green ^
이다
x값, y값은 각각 t, y. 색은 초록색. 선 스타일은 점선, marker(각 포인트)는 크기가 15고 파란색인 o 모양. 그리고 각각 x축과 y축의 범위이다

♟️scatter plot

x,y 범위나 값을 지정해주고 plt.scatter를 하면 선이 이어지지 않은 점으로만 이루어진 그래프가 만들어진다.

colormap 을 쓸 변수를 지정해주고 c=colormap, 그리고 marker를 정해준다. 아래에 plt.colormap()만 쓰면 값에 따라 시각화를 좀 더 세련되게 할 수 있다.

♟️Pandas에서 plot 그리기

matplotlib 을 가져와서 사용
일전에 사용했던 자료들을 불러와서 사용. kind = "bar"에서 bar를 barh로 바꾸면 보다시피 그래프가 가로로 그려진다. h = horizon

♟️데이터 시각화

두번째 사진 처럼 코멘트가 나오는걸 없애려면 함수 제일 끝에 ;를 붙여주면 된다.

마찬가지로 데이터시각화에서도 sort_values()를 이용해 정렬도 가능하다 title을 이용해 제목도 붙여준다.

♟️데이터의 경향 표시

인구수와 소계를 각각 x,y에 넣어 scatter 를 만든다.

♟️Numpy를 이용한 1차 직선 만들기

  • np.polyfit() : 직선을 구성하기 위한 계수를 계산
  • np.poly1d() : polyfit 으로 찾은 계수로 파이썬에서 사용할 수 있는 함수로 만들어주는 기능
    계산식을 통해 경향에 맞는 수를 찾는다.
    인구수와 소계에 대한 직선의 계수값을 계산한다. polyfit을 통해 만들어진 계수를 poly1d 를 통해 담아준다. 그러면 인구가 40만인 곳에서 서울시의 전체 경향에 맞는 CCTV 갯수를 계수값을 통해서 계산하는 방식이다.
    linspace()를 통해 경향선을 그리기 위한 x 데이터를 생성한다
    (np.linspace(a, b, n) : a부터 b까지 n개의 등간격 데이터를 생성)
    경향선을 추가하기 위해선 선을 추가하는거라서 plot을 쓴다.

♟️강조하고 싶은 데이터 시각화

♟️그래프 다듬기

♟️경향과의 오차 만들기

- 경향(trend)과의 오차를 만들자

- 경향은 f1 함수에 해당 인구를 입력

- f1(data_result["인구수"])

경향 요소를 다시 입력. 소계에서 f1(인구수)를 뺀 오차라는 값을 만들어줌. 오차의 값이 큰 부분을 구함

matplotlib.colors 에서 ListedColormap을 사용한다. color_step, 즉 단계에 따른 색 순서는 기재한 코드별로 하고 이 컬러 스텝을 my_cmap 이라는 변수에 할당해준다.
그리고나서 scatter에 color에 해당하는 c에 오차를 할당해주고 cmap은 아까 설정해준 ListedColormap에 사용자가 설정한 color_step 을 넣으면 각 오차에 따라 색이 변화한다.
plt.text에 해당하는 값이랑 이름, 폰트사이즈를 입력해준다


상위, 하위 5개를 나타낼거기 때문에 for문을 이용한 반복을 실행해준다. 이미 앞에서 오름차순이랑 내림차순으로 sort_values()를 해놨기 때문에 for 반복문만 사용하면 자동으로 상위, 하위 5개가 채워진다.

♟️ 오늘의 공부를 마치며

본격적으로 프로젝트에 들어갔는데 눈에 보이는걸 하니까 훨씬 재밌는 느낌이다. 이런식으로 시각화 실습이 계속 되면 정말 재미있는 공부가 될거 같다.

profile
데린이

0개의 댓글