본문 바로가기
Big Data/Matplotlib & Seaborn

[Matplotlib] 기본 코드

by Azure Racoon 2022. 7. 12.

오늘도 Azure로운 PowerPlatform :D

 

Matplotlib를 본격적으로 들어가기 앞서 기본 코드들을 먼저 정리하고 넘어가려고 합니다.

 

라이브러리 import
기본 라인차트 그리기 (list 사용)
기본 라인차트 그리기 (dict 사용)
차트 제목 및 데이터 라벨 설정
차트 디자인 (선 스타일, 마커 설정)
범례 및 그리드 설정
x축 y축 범위 지정
수평선 x, 수직선 y 설정
차트 위 텍스트 설정
차트 나누어 그리기

 

라이브러리 import

import matplotlib.pyplot as plt

 

기본 라인차트 그리기 (list 사용)

x = [1, 2, 3, 4, 5]
y = [2, 5, 3, 1, 2]

plt.plot(x, y)
plt.show()

 

기본 라인차트 그리기 (dict 사용)

dict_data = {'v1': [10, 20, 30, 40, 50], 'v2': [15, 40, 25, 30, 10]}
print(dict_data)

plt.plot('v1', 'v2', '', data = dict_data)
plt.show()

 

차트 제목 및 데이터 라벨 설정

plt.xlabel('month')
plt.ylabel('sales')
plt.title('Monthly Sales')
plt.show()

 

차트 디자인 (선 스타일, 마커 설정)

이미지 출처: https://media.geeksforgeeks.org
이미지 출처: https://python.astrotech.io/_images/matplotlib-plt-linestyle-basic.png

data_smpl = {'v1': [1,2,3,4,5], 'v2': [2,5,3,1,2]}
print(dict1)

plt.plot('v1', 'v2', 'go--', data = data_smpl)
plt.xlabel('month')
plt.ylabel('sales')
plt.title('Monthly Sales')
plt.show()

 

범례 및 그리드 설정

data_smpl = {'v1': [1,2,3,4,5], 'v2': [2,5,3,1,2], 'v3':[4,6,7,6,5]}

plt.plot('v1', 'v2', 'go--', data = data_smpl, label='apple')
plt.plot('v1', 'v3', 'rs-', data = data_smpl, label='mango')

plt.xlabel('month')
plt.ylabel('sales')
plt.title('Monthly Sales')
plt.legend()
plt.grid()
plt.show()

x축 y축 범위 지정

plt.xlim(0,60)
plt.ylim(0,45)
plt.grid()
plt.show()

 

수평선 x, 수직선 y 설정

plt.axhline(5.3, color = 'grey', linestyle = '--')
plt.axvline(2.4, color = 'grey', linestyle = '--')
plt.show()

 

차트 위 텍스트 설정

plt.text(2.5, 4.2, '2.4')
plt.text(1.2, 5.4, '5.3')
plt.show()

 

차트 나누어 그리기

### 세로 ###

# 그래프1 위치지정
plt.subplot(2,1,1)
plt.plot('v1', 'v2', 'go--', data = dict1)

# 그래프2 위치지정
plt.subplot(2,1,2)
plt.plot('v1', 'v3', 'rs-', data = dict1)

plt.tight_layout()
plt.show()

### 가로 ###

# 그래프1 위치지정
plt.subplot(1,2,1)
plt.plot('v1', 'v2', 'ys:', data = data1)
# 그래프2 위치지정
plt.subplot(1,2,2)
plt.plot('v1', 'v3', 'co--', data = data1)

plt.tight_layout()
plt.show()

댓글