250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- randrange()
- fnmatch
- MySqlDB
- shutil
- decode()
- node.js
- mro()
- remove()
- HTML
- zipfile
- CSS
- choice()
- inplace()
- 오버라이딩
- __annotations__
- Database
- fileinput
- JS
- 파이썬
- __len__
- MySQL
- items()
- __sub__
- glob
- discard()
- locals()
- View
- shuffle()
- count()
- __getitem__
Archives
- Today
- Total
흰둥이는 코드를 짤 때 짖어 (왈!왈!왈!왈!왈!왈!왈!왈!왈!왈!왈!)
(Python) Matplotlib 본문
728x90
반응형
1. Matplotlib
- 파이썬 기방 시각화 라이브러리
- 한글에 대한 지원이 완벽하지 않음
- pandas와 연동이 용이함
- Matplotlib 공식 홈페이지
matplotlib 설치
!pip install matplotlib
matplotlib은 보편적으로 plt로 명칭한다.
# MATLAB과 비슷하게 명령어 스타일로 동작하는 함수의 모음
import matplotlib.pyplot as plt
plot은 x값과 y값을 선 그래프로 나타내 준다. x값은 리스트의 인덱스 값으로 자동 생성 해준다.
plt.plot([1, 2, 3, 4]) # 리스트의 값들이 y값들이며, x값 [0, 1, 2, 3]을 자동으로 생성
plt.show()
x값을 직접 설정 할 수 도있다.
plt.plot([1, 2, 3, 4], [1, 4, 10, 15])
plt.show()
import numpy as np
data = np.arange(1, 100)
plt.plot(data)
plt.show()
하나의 plot에 두개 이상의 데이터를 보여줄 수 있다.
data1 = np.arange(1, 50)
plt.plot(data1)
data2 = np.arange(50, 100)
plt.plot(data2)
plt.show()
plt에 두개 이상의 plot을 설정 해 줄수 있으며 row와 column도 지정해 줄 수 있다.
# 여러개의 plot을 그리는 방법
# subplot(row, column, no)
data1 = np.arange(1, 50)
plt.subplot(2, 1, 1)
plt.plot(data1)
data2 = np.arange(50, 100)
plt.subplot(2, 1, 2)
plt.plot(data2)
plt.show()
# 1행 3열 subplot
data1 = np.arange(0, 100)
plt.subplot(131)
plt.plot(data1)
data2 = np.arange(0, 100)
plt.subplot(132)
plt.plot(data1)
data3 = np.arange(0, 100)
plt.subplot(133)
plt.plot(data1)
plt.show()
스타일 옵션
한글을 사용하기 위해서 글꼴 설치를 하여야 한다.
# 코랩에 나눔체를 설치 -> 상단 메뉴 '런타임' -> '다시 시작 및 모두 실행'
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
plt에 폰트 설정
plt.rc('font', family='NanumBarunGothic')
plt의 사이즈와 제목, x축, y축을 설정 할 수 있다.
글자 기울기는 rotation을 사용한다.
plt.figure(figsize=(6, 8)) # inch
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()
plot에는 색깔(color), 마커모양(marker), 선모양(linestyle)을 설정 할 수 있으며
legend는 표시된 데이터가 무엇을 가르키는지 보여줄 수 있다.
xlim, ylim은 그래프의 최대를 설정 할 수 있으며
xticks, yticks를 이용하여 각각 눈금에 스타일을 정할 수 있다.
grid를 이용하면 그래프에 구분선을 만들 수 있다.
plt.figure(figsize=(15, 10))
plt.title('마커설정', fontsize=30)
plt.plot(np.arange(10), np.arange(10), color='b', marker='o', linestyle='')
plt.plot(np.arange(10), np.arange(10)*2, color='r', marker='v', linestyle='--')
plt.plot(np.arange(10), np.arange(10)*3, color='y', marker='*', linestyle='-.')
# plt.legend(['10', '10*2', '10*3'], fontsize=15) # 기본위치는 왼쪽 상단
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()
bar는 막대 그래프를 지원해준다.
x = ['파이썬', '데이터분석', '머신러닝', '딥러닝', '컴퓨터비전', '자연어처리']
y = [95, 80, 65, 30, 20, 5]
plt.figure(figsize=(8, 5))
# plt.bar(x, y, alpha=0.7, color='red')
plt.bar(x, y, align='edge', alpha=0.7, color='red')
plt.title('AI 성적표', fontsize=25)
plt.ylabel('학생점수')
plt.show()
barh는 막대그래프를 가로로 나타내준다.
x = ['파이썬', '데이터분석', '머신러닝', '딥러닝', '컴퓨터비전', '자연어처리']
y = [95, 80, 65, 30, 20, 5]
plt.figure(figsize=(8, 5))
plt.barh(x, y, align='center', alpha=0.7, color='#e35f62')
plt.title('AI 성적표', fontsize=25)
plt.ylabel('학생점수')
plt.show()
728x90
반응형
'파이썬 데이터 분석' 카테고리의 다른 글
(Python) 형태소 (0) | 2023.06.08 |
---|---|
(Python) 가상 쇼핑몰 데이터 프로젝트 (0) | 2023.06.08 |
(Python) 데이터프레임 활용 (0) | 2023.06.08 |
(Python) 판다스 (0) | 2023.05.18 |
(Python) Numpy (0) | 2023.05.18 |
Comments