데이터 시각화는 복잡한 데이터를 직관적으로 이해할 수 있도록 도와주는 중요한 도구입니다.
파이썬의 Matplotlib과 Seaborn 라이브러리를 사용하면 데이터를 다양한 형식으로 시각화하고, 반복적인 작업을 자동화할 수 있습니다.
이번 글에서는 Matplotlib과 Seaborn을 사용한 시각화 작업을 자동화하는 방법을 실습 예제와 함께 소개합니다.
Matplotlib과 Seaborn 설치
필요한 라이브러리를 설치하려면 아래 명령어를 실행하세요
pip install matplotlib seaborn
Matplotlib: 범용 데이터 시각화 라이브러리.
Seaborn: Matplotlib 기반의 고급 데이터 시각화 라이브러리로, 스타일과 테마가 개선된 그래프를 제공합니다.
기본 차트 생성
Matplotlib을 사용하여 기본적인 선 그래프를 생성하는 방법을 살펴보겠습니다.
예제: Matplotlib을 사용한 선 그래프
import matplotlib.pyplot as plt
# 데이터 준비
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 35]
# 그래프 생성
plt.plot(x, y, marker="o", color="blue", label="성장률")
plt.title("기본 선 그래프")
plt.xlabel("X 축")
plt.ylabel("Y 축")
plt.legend()
plt.grid()
plt.show()
위 코드에서는 plt.plot()
를 사용해 선 그래프를 생성하며, 제목, 축 레이블, 그리드 등을 추가했습니다.
Seaborn으로 고급 시각화
Seaborn을 사용하면 더 세련된 스타일의 차트를 생성할 수 있습니다.
아래 예제는 샘플 데이터를 이용해 막대 그래프를 생성합니다.
예제: Seaborn 막대 그래프
import seaborn as sns
import matplotlib.pyplot as plt
# 샘플 데이터
data = {"과목": ["수학", "영어", "과학", "국어"], "점수": [85, 90, 80, 95]}
sns.barplot(x="과목", y="점수", data=data, palette="muted")
plt.title("과목별 점수")
plt.show()
위 코드는 Seaborn의 barplot()
함수를 사용해 과목별 점수를 막대 그래프로 시각화한 예제입니다.
데이터 자동화 시각화
이제 데이터를 자동으로 가져오고 반복적으로 시각화하는 작업을 설정해보겠습니다.
Pandas를 사용하여 CSV 파일의 데이터를 읽고 시각화하는 방법을 살펴봅니다.
예제: CSV 데이터 시각화
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# CSV 파일 로드
data = pd.read_csv("sales_data.csv")
# 라인 차트 생성
sns.lineplot(x="월", y="매출", data=data, marker="o")
plt.title("월별 매출 추이")
plt.xlabel("월")
plt.ylabel("매출")
plt.show()
위 코드는 월별 매출 데이터를 선 그래프로 시각화하는 방법을 보여줍니다.
차트 저장 및 반복 실행
시각화한 차트를 저장하고, 주기적으로 실행하도록 자동화할 수 있습니다.
예제: 차트 저장
# 그래프 저장
sns.lineplot(x="월", y="매출", data=data, marker="o")
plt.title("월별 매출 추이")
plt.savefig("monthly_sales_chart.png") # 그래프 저장
plt.close()
print("차트가 저장되었습니다.")
예제: 스케줄을 활용한 자동화
import schedule
import time
# 반복 실행 함수
def create_chart():
sns.lineplot(x="월", y="매출", data=data, marker="o")
plt.title("월별 매출 추이")
plt.savefig("scheduled_chart.png")
plt.close()
print("차트가 저장되었습니다.")
# 1시간마다 실행
schedule.every(1).hours.do(create_chart)
while True:
schedule.run_pending()
time.sleep(1)
위 코드는 스케줄 모듈을 사용하여 1시간마다 차트를 생성하고 저장하도록 설정합니다.
다양한 시각화 차트 생성
Seaborn과 Matplotlib을 사용해 생성할 수 있는 다양한 차트를 소개합니다:
- 히스토그램 (
sns.histplot()
) - 상자 그림 (
sns.boxplot()
) - 히트맵 (
sns.heatmap()
) - 산점도 (
sns.scatterplot()
)
예제: 히트맵
# 히트맵 예제
import numpy as np
# 샘플 데이터
data = np.random.rand(10, 12)
sns.heatmap(data, cmap="coolwarm", annot=True)
plt.title("히트맵 예제")
plt.show()
위 코드는 히트맵을 생성하여 2차원 데이터의 값을 색상으로 표현합니다.
마무리
이번 글에서는 Matplotlib과 Seaborn을 사용해 데이터 시각화 작업을 자동화하는 방법을 살펴보았습니다.
데이터를 직관적으로 표현하고 반복적인 시각화 작업을 간소화할 수 있는 자동화는 데이터 분석 효율성을 높이는 데 유용합니다.
실습을 통해 자신만의 데이터 시각화 프로그램을 만들어보세요!