AI와 데이터 사이언스의 이론과 실전
데이터 분석 - Matplotlib으로 데이터 시각화 본문
# 1행 3열 subplot
data1 = np.arange(1,100)
plt.subplot(131) # 1행 3열 에서 1번째 위치 , 생략
plt.plot(data1)
data2 = np.arange(0,100)
plt.subplot(132) # 1행 3열에서 2번째 위치 , 생략
plt.plot(data2)
data3 = np.arange(0,100)
plt.subplot(133) # 1행 3열에서 3번째 위치 , 생략
plt.plot(data3)
plt.show()
Matplotlib은 파이썬에서 데이터 시각화를 위한 강력하고 유연한 라이브러리입니다. 다양한 차트, 그래프, 플롯을 생성하여 데이터를 이해하고 전달하는 데 사용됩니다. 아래에서는 몇 가지 Matplotlib의 주요 기능을 사용한 데이터 시각화의 예시를 제시하겠습니다.
1. 설치 및 import
Matplotlib을 사용하려면 우선 설치하고 import해야 합니다.
pip install matplotlib
import matplotlib.pyplot as plt
2. 선 그래프(Line Plot)
데이터의 변화를 추적하는 데 사용되며, 시간에 따른 값의 변화를 잘 나타낼 수 있습니다.
# list를 1개만 넣을 경우 값들은 y값이 됨, x값은 자동으로 생성
plt.plot([1,2,3,4])
plt.show()
plt.plot([1,2,3,4],[1,5,10,20])
plt.show()
1.1. 두개의 선 긋기
Matplotlib은 그래프의 선이 덮어씌워짐으로 하나의 plt.plot()에 두번 선을 그어주면 됩니다.
data1 = np.arange(1,50)
plt.plot(data1)
data2 = np.arange(50,100)
plt.plot(data2)
plt.show()
1.1. 여러개의 plot을 그리는 방법
- subplot(row,column,no)
data1 = np.arange(1,50)
plt.subplot(2,1,1) # 2행 1열 에서 1번째 위치
plt.plot(data1)
data2 = np.arange(50,100)
plt.subplot(2,1,2) # 2행 1열에서 2번째 위치
plt.plot(data2)
plt.show()
# 1행 3열 subplot
data1 = np.arange(1,100)
plt.subplot(131) # 1행 3열 에서 1번째 위치 , 생략
plt.plot(data1)
data2 = np.arange(0,100)
plt.subplot(132) # 1행 3열에서 2번째 위치 , 생략
plt.plot(data2)
data3 = np.arange(0,100)
plt.subplot(133) # 1행 3열에서 3번째 위치 , 생략
plt.plot(data3)
plt.show()
3. 스타일 옵션
만약 한글 폰트가 깨질 경우 아래의 코드로 설치 후 진행해주세요
# 나눔폰트 시리즈 설치
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
# 폰트 설정
plt.rc('font',family='NanumBarunGothic')
plt.figure(figsize = (6,8)) # 6인치 8인치 이거 미국놈이 만든거구먼 사이즈계의 황소개구리 미국놈들
plt.plot([1,2,3],[1,2,3])
plt.plot([1,2,3],[2,4,6])
plt.title('제목',fontsize=30)
plt.xlabel('x축',fontsize=20)
plt.ylabel('y축',fontsize=20, rotation=0)
plt.show()
plt.figure(figsize=(15,10))
plt.title('마커설정',fontsize=30)
plt.plot(np.arange(10),np.arange(10),color='deepskyblue',marker='o', linestyle='-.')
plt.plot(np.arange(10),np.arange(10)*2,color='deeppink',marker='v', linestyle='--')
plt.plot(np.arange(10),np.arange(10)*3,color='gold',marker='*', linestyle='')
plt.legend(['10','10+2','10+3'], fontsize=15, loc = 'lower right',ncol=3)
plt.xlim(0,12)
plt.ylim(0,30)
#단위 글씨 기울기 조정
plt.xticks(rotation = 30)
plt.yticks(rotation = 30)
# 격자
plt.grid()
plt.show()
x = ['파이썬','데이터분석','머신러닝','딥러닝','자연어처리','컴퓨터비전']
y = [95,80,75,50,40,25]
plt.figure(figsize=(8,5))
plt.title('AI 성적표',fontsize=25)
plt.ylabel('수강생 점수')
plt.bar(x,y,alpha=0.4,color='deeppink',width=0.5) # align='edge'쓰면 글자가 앞부분으로 정렬됨\
plt.show()
x = ['파이썬','데이터분석','머신러닝','딥러닝','자연어처리','컴퓨터비전']
y = [95,80,75,50,40,25]
plt.figure(figsize=(8,5))
plt.title('AI 성적표',fontsize=25)
plt.ylabel('수강생 점수')
plt.barh(x,y,alpha=0.4,color='deepskyblue') # align='edge'쓰면 글자가 앞부분으로 정렬됨\
plt.show()
'인공지능' 카테고리의 다른 글
Scikit-learn(사이킷런) 소개와 기본 개념 (0) | 2023.11.17 |
---|---|
AI와 머신러닝의 핵심 개념 정리 (0) | 2023.11.16 |
데이터 분석 - 판다스(Pandas)로 원핫인코딩(One-Hot Encoding) (0) | 2023.11.14 |
데이터 분석 - 판다스(Pandas)로 데이터프레임 합치기, 산술연산, select_detypes, 등수 매기기, 날짜타입, map, apply (0) | 2023.11.13 |
데이터분석 - 판다스(Pandas)로 결측값(NaN) 처리, 행과 열 추가 및 삭제하기 (0) | 2023.11.12 |