kt aivle

[Python] matplotlib 패키지 - 데이터 시각화

튼튼한장 2024. 6. 6. 20:31

기본 코드 구조

import matplotlib.pyplot as plt

plt.plot(data['Temp']) # 기본 라인차트를 그려줍니다.
plt.show() # 그래프를 화면에 출력해줍니다.

 

 

 

x와 y값 지정하기

1차원: list, numpy array, series 등을 각각 x와 y로 지정해서 사용

2차원: dictionary, dataframe로부터 x와 y를 가져와서 사용 가능

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

# 타입 2
plt.plot('Date', 'Temp', data=data)
plt.xticks(rotation=50) # x축 글씨를 50도 회전하여 겹치지 않게 만든다.
plt.show()

 

 

x축, y축 이름, 타이틀 붙이기

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

plt.xticks(rotation=30)
plt.xlabel('Date')
plt.ylabel('Ozone')
plt.title('Daily Airquality')

plt.show()

 

라인 스타일 조정하기

plt.plot(data['Date'], data['Ozone'],
		color='green',
        linestyle='dotted',
        marker='o')

plt.xlabel('Date')
plt.ylabel('Ozone')
plt.title('Daily Airquality')
plt.xticks(rotation=45)

plt.show()

 

여러 그래프 겹쳐서 그리기

# 첫번째 그래프
plt.plot(data['Date'], data['Ozone'], color='green', linestyle='dotted', marker='o')

# 두번쨰 그래프
plt.plot(data['Date'], data['Temp'], color='r', linestyle='-', marker='s')

plt.xlabel('Date')
plt.ylabel('Ozone')
plt.title('Daily Airquality')
plt.xticks(rotation=45)

plt.show()

 

 

그래프에 텍스트 추가

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(row, column, index) 형태로 작성하면 된다.

plt.figure(figsize = (12,8))

plt.subplot(3,1,1)
plt.plot('Date', 'Temp', data = data)
plt.xticks(rotation=15)
plt.grid()

plt.subplot(3,1,2)
plt.plot('Date', 'Wind', data = data)
plt.xticks(rotation=15)
plt.grid()

plt.subplot(3,1,3)
plt.plot('Date', 'Ozone', data = data)
plt.xticks(rotation=15)
plt.grid()

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