데이터 분석 - 4

CYSSSSSSSSS·2023년 8월 14일
0

데이터분석

목록 보기
4/19

시각화 라이브러리

  • matplotlib 기본 차트 그리기
  • 데이터 요건
  • 차트 꾸미기

시각화 목적

  • 비즈니스 패턴을 인식하기 위한 목적이다.

한계

  • 원본 데이터 가 요약이 된다.
  • 요약을 하는 관점에서 해석이 달라질수가 있다.
  • 어떤 식으로 요약을 하면 정보의 손실이 발생한다.

라이브러리

import matplotlib.pyplot as plt

plt.plot()

  • 기본 차트를 그리는 방법 중에 하나이다.
  • x축 : 인덱스
  • y축 : 1차원 값
  • 라인 차트를 그려준다.

1차원 시리즈 plot()

# 차트 그리기
plt.plot(data['Temp'])

# 화면에 보여주기
plt.show()

plt 의 x축 y축을 지정할떄

# 타입1
plt.plot(data['Date'], data['Temp'])
plt.show()
# 타입2
plt.plot('Date', 'Temp', data = data)
plt.show()

plt.show()

  • 그래프를 화면에 출력한다.

차트 꾸미기

x,y,이름 , 타이틀

  • xticks(rotation = value) # x축의 방향을 틀어주는 함수이다.
  • xlabel('name') # x 축의 이름을 정해주는 함수이다.
  • ylabel('name') # y 축의 이름을 정해주는 함수이다.
  • title('name') # 그래프 전체의 이름을 정해주는 함수이다.
plt.plot(data['Date'], data['Ozone'])

plt.xticks(rotation = 30)       # x축 값 꾸미기 : 방향을 30도 틀어서
plt.xlabel('Date')              # x축 이름 지정
plt.ylabel('Ozone')             # y축 이름 지정
plt.title('Daily Airquality')   # 타이틀

plt.show()

라인 스타일 조정

  • color 는 red , green ,blue 등 다양하게 표현 가능

  • linestyle 은 solid , dashed , dashhot , dotted

  • 혹은 - , -- , -. , :

  • marker 는 아래의 표로 표현 할수 있다.

여러 그래프를 겹칠떄 주의

  • x 축의 값은 똑같아야 한다.
  • x-> y의 변화를 봐야 하기 때문에.
![](https://velog.velcdn.com/images/hokoro/post/eff39a1d-1cc8-449f-9171-53c96db44937/image.png)

범례 그리드 추가

  • 범례는 해당 plot 이 무슨 데이터를 표시하는지 알려주는 함수이다

  • 함수명은 legend 이다

  • grid 은 각 그래프에 직사각형 표로 그리드를 그리는 함수이다.

plt.plot(data['Date'], data['Ozone'], label = 'Ozone')  # label = : 범례추가를 위한 레이블값
plt.plot(data['Date'], data['Temp'], label = 'Temp')

plt.legend(loc = 'upper right')    # 레이블 표시하기. loc = : 위치
plt.grid()

plt.show()

dataframe.plot()

  • 데이터 프레임으로 부터 plot 을 사용해도 된다.
data.plot(x = 'Date', y = ['Temp','Ozone']
          , title = 'Daily Airquality')
plt.grid()
plt.show()

축 범위 조정하기

plt.plot(data['Ozone'])

plt.ylim(0, 100)
plt.xlim(0,10)
plt.grid()
plt.show()
  • xlim() : x축의 범위를 지정해주는 함수이다
  • ylim() : y축의 범위를 지정 가능하다

그래프 크기조정

plt.figure(figsize = (4, 3))

plt.plot(data['Ozone'])

plt.ylim(0, 100)
plt.xlim(0,10)

plt.grid()
plt.show()

수평선 수직선 추가

plt.plot(data['Ozone'])

plt.axhline(40, color = 'grey', linestyle = '--')
plt.axvline(10, color = 'red', linestyle = '--')
plt.show()
  • axhline : 수평선
  • axvline : 수직선

그래프의 텍스트 추가

plt.plot(data['Ozone'])

plt.axhline(40, color = 'grey', linestyle = '--')
plt.axvline(10, color = 'red', linestyle = '--')

plt.text(5, 41, '40')
plt.text(10.1, 20, '10')

plt.show()

여러 그래프 나눠서 그리기

plt.subplot()

  • plt.subplot(row, column , index)
  • 나눠서 그릴떄는 칸을 나누어서 index 가 몇번째 그래프인지 인식 하는것이다.
plt.figure(figsize = (12,8))
plt.subplot(3,1,1) # 3행 1열의 첫번쨰 그래프
plt.plot('Date', 'Temp', data = data)
plt.grid()

plt.subplot(3,1,2) # 3행 2열의 두번쨰 그래프
plt.plot('Date', 'Wind', data = data)

plt.subplot(3,1,3) # 3행 1열의 세번쨰 그래프 
plt.plot('Date', 'Ozone', data = data)
plt.grid()
plt.ylabel('Ozone')

plt.tight_layout() # 그래프간 간격을 적절히 맞추기
plt.show()

plt.tight_layout()

  • 서브 플롯 간에 간격을 적절히 맞춘다.
profile
개발자 되고 싶어요

0개의 댓글