반응형
Python Matplotlib 완벽 가이드: 그래프 및 표 생성 방법
Python에서 데이터를 시각화하는 대표적인 라이브러리 중 하나인 matplotlib의 사용법을 초보자도 쉽게 이해할 수 있도록 단계별로 설명합니다. 특히, 다양한 그래프를 만드는 방법과 표를 추가하는 기능까지 포괄적으로 다룹니다.
1. Matplotlib 설치 및 기본 사용법
Matplotlib을 사용하려면 먼저 패키지를 설치해야 합니다.
pip install matplotlib
이제 가장 기본적인 선 그래프를 그려보겠습니다.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 40]
plt.plot(x, y, marker='o', linestyle='-')
plt.xlabel('X축 라벨')
plt.ylabel('Y축 라벨')
plt.title('기본 선 그래프')
plt.show()
2. 다양한 그래프 만들기
2.1 바 차트 (Bar Chart)
import matplotlib.pyplot as plt
import numpy as np
labels = ['A', 'B', 'C', 'D']
values = [5, 7, 3, 8]
plt.bar(labels, values, color=['blue', 'orange', 'green', 'red'])
plt.xlabel('카테고리')
plt.ylabel('값')
plt.title('바 차트')
plt.show()
2.2 산점도 (Scatter Plot)
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y, color='purple', alpha=0.5)
plt.xlabel('X 값')
plt.ylabel('Y 값')
plt.title('산점도')
plt.show()
2.3 히스토그램 (Histogram)
import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(1000)
plt.hist(data, bins=30, color='skyblue', edgecolor='black')
plt.xlabel('값')
plt.ylabel('빈도')
plt.title('히스토그램')
plt.show()
반응형
2.4 파이 차트 (Pie Chart)
import matplotlib.pyplot as plt
import numpy as np
sizes = [30, 40, 20, 10]
labels = ['A', 'B', 'C', 'D']
colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen']
plt.pie(sizes, labels=labels, autopct='%1.1f%%', colors=colors, startangle=140)
plt.title('파이 차트')
plt.show()
3. Matplotlib에서 표 추가하기
Matplotlib에서 표를 추가하는 다양한 방법을 소개합니다.
3.1 plt.table()을 이용한 표 생성
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
columns = ['A', 'B', 'C']
rows = ['Row1', 'Row2', 'Row3']
ax.axis('tight')
ax.axis('off')
table = plt.table(cellText=data, colLabels=columns, rowLabels=rows, cellLoc='center', loc='center')
plt.title('기본 표')
plt.show()
3.2 Pandas와 Matplotlib를 활용한 표
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
fig, ax = plt.subplots()
ax.axis('tight')
ax.axis('off')
table = plt.table(cellText=df.values, colLabels=df.columns, cellLoc='center', loc='center')
plt.title('Pandas DataFrame을 이용한 표')
plt.show()
4. 표를 추가할 수 있는 기능 목록
기능 | 설명 |
plt.table() | Matplotlib 기본 테이블 생성 |
pandas.DataFrame | Pandas와 Matplotlib 조합 사용 |
seaborn.heatmap() | 데이터프레임을 열지도(Heatmap) 형태로 시각화 |
4.1 seaborn.heatmap()을 이용한 표 표현
import seaborn as sns
df = pd.DataFrame(np.random.rand(5, 5), columns=['A', 'B', 'C', 'D', 'E'])
sns.heatmap(df, annot=True, cmap='coolwarm')
plt.title('Seaborn Heatmap')
plt.show()
5. Matplotlib의 특징 및 장단점 비교
특징 | 장점 | 단점 |
간단한 인터페이스 | 빠르고 쉬운 데이터 시각화 가능 | 기본 스타일이 심플함 |
다양한 그래프 지원 | 선, 막대, 산점도, 히스토그램 등 다양한 그래프 제공 | 인터랙티브한 기능 부족 |
확장성 | seaborn, plotly 등과 결합 가능 | 3D 그래프 기능이 상대적으로 제한적 |
반응형
'코딩취미 > Python' 카테고리의 다른 글
PySide6에서 QTableWidget 헤더 및 테이블 스타일 설정하기 (0) | 2025.03.20 |
---|---|
PySide6으로 QTableWidget 다중 헤더 설정하는 방법 (0) | 2025.03.20 |
파이썬 Plotly로 그래프 만들기: (꺾은선, 막대, 산점도, 원형) (0) | 2025.03.14 |
파이썬으로 다양한 형태의 표 만들기: 가로표, 세로표 (PrettyTable, Pandas, HTML) (0) | 2025.03.14 |
파이썬으로 데이터 테이블 만들기: (리스트, 딕셔너리, pandas, sqlite) (0) | 2025.03.14 |