두설날 2024. 5. 27. 14:19

*이 글을 읽기전에 작성자 개인의견이 있으니, 다른 블로그와 교차로 읽는것을 권장합니다.*

1. Matplotlib

파이썬 기반 시각화 라이브러리로, 다양한 종류의 차트를 쉽게 만들 수 있도록 도와줍니다.
한글에 대한 지원이 완벽하지 않습니다.
Pandas와 연동이 용이합니다.
[Matplotlib 공식 홈페이지](https://matplotlib.org/)

!pip install matplotlib
import matplotlib.pyplot as plt
# MATLAB과 비슷하게 명령어 스타일로 동작하는 함수들의 모음

plot() : 그래프를 그립니다.

plt.show() : 그래프 출력

plt.plot([1, 2, 3, 4]) # 리스트의 값들은 y값들이며, x값은 자동으로 만들어줌
# 이건 코랩의 기능이고 원래 plt.show()를 써야함
plt.show()

plot()를 쓸 때, 앞 1행은 x좌표, 2행은 y좌표값을 나타냅니다.

plt.plot([1, 2, 3, 4], [1,5,10,15])
plt.show()

import numpy as np
# ndarray 1~100생성 [ 1 2 ... 99 100 ]
data = np.arange(1, 100)
plt.plot(data)
plt.show

data1 = np.arange(1, 50) #주황색
plt.plot(data1)
data2 = np.arange(51, 100) #파란색
plt.plot(data2)
plt.show()

subplot() : 여러 개의 plot을 만듭니다.

# 여러개의 plot을 그리는 방법
# subplot(행, 열, 번호) : 칸 생성
data1 = np.arange(1, 50)
# subplot으로 2행1열1번째
plt.subplot(2,1,1)
plt.plot(data1)

data2 = np.arange(50,100)
# subplot으로 2행1열2번째
plt.subplot(2,1,2)
plt.plot(data2)

plt.show()


2. 스타일 옵션

한글font는 python에서 기본적으로 설치되어있지 않으므로, 한글을 사용하기 위해서 따로 font를 설치해야 합니다.

plt.rc('font', family='글꼴') : 해당 한글 글꼴 설치

# 한글 fonts-nanum 설치
!sudo apt-get install -y fonts-nanum #나눔폰트 설치
!sudo fc-cache -fv #캐시 지우기
!rm ~/.cache/matplotlib -rf #서버를 내렸다 올리게
#항상 시스템으로 설치하면 런타임을 내렸다 다시 실행해야 함.

# 해당 글꼴을 사용할거란 선언
plt.rc('font', family='NanumBarunGothic')

plt.title() : 제목

plt.xlabel() : X축 라벨, plt.ylabel() : Y축 라벨

plt.figure() : 그래프 크기

  • figsize=(6,8) : 6 X 8 크기의 그래프 생성
plt.figure(figsize=(6,8)) #inch
plt.plot([1,2,3], [1,2,3]) # 1행은 x값, 2행은 y값
plt.plot([1,2,3], [2,4,6])
plt.title('제목', fontsize=30)
plt.xlabel('X축', fontsize=20)
plt.ylabel('Y축', fontsize=20, rotation=30)
plt.show()

plot속성: 

  • marker = 마커 설정
  • linestyle = 선 설정
  • ms = 마커사이즈 설정

plt.legend() : 범례 

  • [A, B, C]: 범례 나타내기
  • fontsize = 글씨 크기
  • loc = 범례 위치
  • ncol = row 여러개 -> column 여러개로 표현

plt.xlim() : X축 범위제한, plt.ylim() : Y축 범위제한

plt.xticks() : X축 라벨 각도 눕히기, plt.yticks() : Y축 라벨 각도 눕히기

  • rotation = 각도 조절

plt.grid() : 눈금자 생성

plt.figure(figsize=(10,5))
plt.title('마커설정', fontsize=30)
# marker는 마커, linestyle 선, ms는 마커사이즈
plt.plot(np.arange(10), np.arange(10), color='deepskyblue', marker='o', linestyle='-.', ms=10)
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)
# ncol은 가로모양
plt.legend(['10','10*2', '10*3'], fontsize=15, loc='lower right', ncol=3)

#x축과 y축 범위제한
plt.xlim(0,15)
plt.ylim(0,35)

# 글자 각도 눕히기(조절)
plt.xticks(rotation=30)
plt.yticks(rotation=30)

# 눈금자
plt.grid()

plt.show()

plt.bar() : 막대그래프 생성

  • alpha = 투명도 조절
x = ['파이썬', '데이터분석', '머신러닝', '딥러닝', '자연어처리', '컴퓨터비전']
y = [95, 80, 75, 60, 55, 40]
plt.figure(figsize=(8,5)) # size : 8*5
plt.title('AI 성적표', fontsize=25) # 윗상단이 제목
plt.ylabel('수강생 점수')
plt.bar(x, y, alpha=0.3, color='deeppink') # 막대그래프, alpha는 투명도조절
plt.show()

plt.varh() : 축 도치된 막대그래프 

x = ['파이썬', '데이터분석', '머신러닝', '딥러닝', '자연어처리', '컴퓨터비전']
y = [95, 80, 75, 60, 55, 40]
plt.figure(figsize=(8,5)) # size : 8*5
plt.title('AI 성적표', fontsize=25) # 윗상단이 제목
plt.xlabel('수강생 점수')
plt.barh(x, y, alpha=0.3, color='deepskyblue') # 막대그래프 x,y축 도치
plt.show()