BDA

[BDA] 3주차 데이터 시각화

getfeelingsfrom 2025. 10. 2. 00:07

 

이번 주차에는 파이썬의 대표적인 시각화 패키지인 matplotlib와 seaborn을 이용해 실습을 진행했습니다. 


 

시각화 패키지는 비즈니스 인사이트를 파악하기 위해 사용하는 것인데요. 

차트를 해석하며 단순히 수치를 보는 것이 아니라, 비즈니스적 의미를 발견할 수 있습니다. 

 

하지만 시각화 단계에서 몇 가지 한계가 있는데요 

  • 그래프와 통계량은 원본 데이터가 아닌 요약된 정보(원본)가 표현된다
  • 요약의 관점에 따라 해석의 결과가 달라질 수 있다 
  • 요약 과정에서 정보의 손실이 발생할 수 있다 

 

📍파이썬 시각화 패키지

  • matplotlib(매트플롯립) : 가장 기본적인 시각화 라이브러리
  • seaborn : matplotlib 위에서 사용됨
import pandas as pd
import numpy as np

# 시각화 라이브러리
import matplotlib.pyplot as plt
import seaborn as sns
 
 
 

📍기본 차트 구성

plt.plot(data['Date'], data['Ozone'])
plt.xlabel('Date')
plt.ylabel('Ozone')
plt.title('Daily Airquality')
plt.show()

 

plt.plot(1차원 값)을 사용하면 
  • x축 : 인덱스
  • y축 : 데이터 값 => 1차원 값이므로 시리즈로 가능하다

 

 

 

같은 그래프를 아래와 같이 두가지 방법을 통해 구현할 수 있습니다.

표현 방식만 다를 뿐 결과는 똑같음을 알 수 있었어요 

 

 

 


📍차트 꾸미기  

  • color
  • linestyle
    • 'solid', 'dashed', 'dashdot', 'dotted'
    • 혹은 '-' , '--' , '-.' , ':'
  • marker=markerdescription
    "." point
    "," pixel
    "o" circle
    "v" triangle_down
    "^" triangle_up
    "<" triangle_left
    ">" triangle_right

 

plt.plot(data['Date'], data['Ozone'])

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

plt.show()
 
 
 
 

📍여러 그래프 겹쳐 그리기

아래와 같이 두 그래프를 겹쳐서 그리고, 오른쪽 위에 라벨링 하려면

 

# 첫번째 그래프
plt.plot(data['Date'], data['Ozone'], label = 'Ozone') # label = : 범례추가를 위한 레이블값

# 두번째 그래프
plt.plot(data['Date'], data['Temp'], label = 'Temp')

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

 

이렇게 label과 legend를 활용하면, 여러 그래프를 겹쳐서 비교할 수 있습니다.


📍그래프 조정하기 

✔️ 축 범위 지정

plt.plot(data['Ozone'])


plt.ylim(0, 100) #y축 범위 조절
plt.xlim(0,10) #x축 범위 조절
plt.grid()
plt.show()
 

 

✔️ 그래프 크기 조정

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()
 

 

✔️ 여러 개 그래프 나눠서 그리기

 
  • row : 고정된 행 수
  • column : 고정된 열 수
  • index : 순서
plt.figure(figsize = (12,8)) #가로의 길이를 12인치, 세로의 길이를 8인치 (default: 6.4, 4.4)
plt.subplot(3,1,1) #3행 1열짜리로 나눠 -> 그중에 1번째 그래프
plt.plot('Date', 'Temp', data = data)
plt.grid()


plt.subplot(3,1,2) #3행 1열짜리로 나눠 -> 그중에 2번째 그래프
plt.plot('Date', 'Wind', data = data)


plt.subplot(3,1,3) #3행 1열짜리로 나눠 -> 그중에 3번째 그래프
plt.plot('Date', 'Ozone', data = data)
plt.grid()
plt.ylabel('Ozone')


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

 

 


 

강사님의 설명도 귀에 쏙쏙 박혀서 지루한 강의형 수업이 아니고 , 

단순히 개념만 설명하는게 아니라 실습을 진행하기 때문에 지루하지 않더라구요

 

복습을 하면서 헷갈렸던 부분을 확실히 다져나가고 

이렇게 블로그에 다시 정리하며 되새김질을 하니까 더 알차게 느껴지는 것 같아요! 

 

처음에 학회를 시작할 때는 도움이 될 지 혹은 잘 따라갈 수 있을지 걱정을 많이 했는데 

하다보니 뿌듯함을 더 많이 느끼는 것 같네요 

 

앞으로도 화이팅해서 열심히 해나가겠슴당 

아자자