SlideShare a Scribd company logo
MATPLOTLIB
기초
이해하기
Moon Yong Joon
MATPLOTLIB
PYPLOT
기초
Moon Yong Joon
좌표이해하기
좌표
그래프는 일단 x,y축 좌표에 대해 이해를 해야 함
Y축
X축
좌표 기준
matplotlib은 하나의 리스크만 넣으면 리스트의
index가 x축, 값이 y축으로 인식해서 그래프 표
시
jupyter 내에서 그래프 보기
jupyter notebook 실행
%matplotlib inline 명령을 먼저 실행해야
jupyter notebook 내에서 그래프가 보임
여러 개의 선을 그리기
plot 함수에 x,y,그래프색과모양 3개를 묶어서 3
개를 표현해서 그리기
y = x
y = x**2
y = x**3
에 대한 함수의
그래프를 표현
Plot 구조 이해하기
내부 구조 이해하기1 : Line2D
plot 함수를 실행하면 하나의 list가 생기고
Line2D object가 생기며 plot함수를 하나더 실
행해서 기존 list에 원소로 추가 가능
내부 구조 이해하기 2 : Line2D
2개의 plot 함수를 실행해서 출력해도 앞장의 경
우와 동일하게 출력됨
내부 구조 이해하기 3 : Line2D
plot 함수에 3개의 그래프를 연속해서 정의하고
실행하면 list에 Line2D가 3개 생겨서 표시
Text 구조 이해하기
내부 구조 이해하기 :Text
ylabel함수를 실행하면 하나의 Text object 가
생김
그래프/캔버스 이해하기
그래프 이해하기
하나의 캔버스에 두개의 그래프 처리
캔버스 이해하기 1
Figure 객체를 두개 만들고 내부에 처리
캔버스 이해하기 2
Figure 클래스별로 별도 캔버스를 구성
캔버스 이해하기 3
하나의 plot를 주석처리하면 캔버스 하나는 출
력되지만 다른 하나는 객체 주소만 출력
Seaborn 꾸미기
Seaborn 적용 꾸미기
seaborn을 이용하면 그래프의 격자가 꾸며짐
Seaborn install
docker에서 seaborn을 pip로 설치
docker exec {도커이미지} pip install seaborn --upgrade
MATPLOTLIB
PYPLOT
PLOT 함수
Moon Yong Joon
선 그래프
plot 함수 : 한축만 1
y축은 plot 함수 내의 값이고 x 축은 인덱스를
표시
plot 함수 : 한축만 2
y축은 plot 함수 내의 값이고 x 축은 인덱스를
표시를 marker를 넣고 확인
plot 함수 : x축과 y축 1
x축과 y축 넣고 그래프 보기
plot 함수 : x축과 y축 2
x축과 y축 넣고 그래프 보기
plot 함수 :두개 사용
plot 함수를 두번 사용해서 2개의 그래프 보기
plot 함수 : marker 만들기
색상과 모양을 넣어 marker를 표시
색상
모양
+
plot 함수 :marker 넣기 1
Plot 함수에 solid(‘r-’), dash(’r—’)를 넣고 그래
프 그리기
solid dash
plot 함수: marker 넣기 2
plot 함수 파라미터에 circle marker(‘ro’)를 넣
고 표시
plot 함수 :marker 여러 개 넣기
Plot 함수에 marker 넣고 그래프 그리기
‘r--’ : red dash
‘bs’ : blue square
‘g^’ : green triangle
plot 함수 : marker keyword
Plot 함수에 marker를 키워드 인자로 넣기
plot 함수 : label
Plot 함수에 legend함수 처리를 위해 label을 정
의
legend 함수
호출하면 범
주 표시
plot 함수 : linewidth
Plot 함수에 line을 굵게 하려면 linewidth에 값
을 부여
Line2D 클래스
Line2D property
Line2D property
setp 함수로 Line2D 세팅하기
색상과 라인너비를 세팅
Axes 객체 처리
Figure/Axes 객체 생성
객체를 생성
Axes 클래스의 인
스턴스를 생성
Axes 내의 메소드 세팅
set_xlim, set_ylim, xlabel, ylabel, title을 세팅
좌표 범위, label, 타이
틀을 선언
tight_layout 처리
Text 객체 내에 지정된 것들을 재조정 처리
tight_layout 처리
Text 객체 내에 지정된 것들을 재조정 처리
MATPLOTLIB
PYPLOT
SCATTER 함수
Moon Yong Joon
점 그래프
scatter 함수 : 분포점을 그리기
PathCollection object가 생기고 행 10과 열 2
개의 데이터를 생성해서 분포점을 그리기
scatter 함수 : 모양과 색 입히기
s는 크기, c는 색상, marker는 삼각형
MATPLOTLIB
PYPLOT
BAR 함수
Moon Yong Joon
막대 그래프
bar함수 : 기본
bar함수는 폭을 0.8, 파란색 막대가 기본으로 처
리
bar함수 : 폭 늘리기
bar함수는 위치와 값을 막대그래프로 표시
bar함수 : 폭 줄이기
bar함수는 막대 그래프의 폭을 0.5로 처리
다중 막대그래프
bar함수 : 다중 막대그래프
bar함수는 막대 그래프의 폭을 0.33로 처리해
이중 막대 그래프
MATPLOTLIB
PYPLOT
BARH 함수
Moon Yong Joon
수평방향 막대 그래프
barh함수 : 수평 막대그래프
수평 막대그래프를 그리기 위해서는 반대방향
의 데이터 m_pop 앞에 minus 부호(-)를 부여해
야 함
-m_pop
을 표시
MATPLOTLIB
PYPLOT
PIE 함수
Moon Yong Joon
원 그래프
pie함수 :
데이터를 받아 원을 그래프 표시
색상 기본 순서 colors=('b', 'g', 'r', 'c', 'm', 'y', 'k', 'w')
pie함수 : labels 붙이기
데이터와 labels를 받아 원을 그래프 표시
MATPLOTLIB
PYPLOT
HISTO 함수
Moon Yong Joon
히스토그램 그래프
hist함수 : 기본
xlabel을 표시한 히스토그램 그리기
hist함수 : 범주 나누기 1
데이터를 받아 15개의 범주로 나눠 그래프를 표
시
hist함수 : 범주 나누기 2
데이터를 받아 20개의 범주로 나눠 그래프를 표
시
hist함수 : 내부에 그리기
그래프 내에 범주를 재정의해서 그래프를 그리
기
hist함수 :파라미터
normed를 사용하면 히스토그램 합이 1,
facecolor는 색깔, alpha는 투명도 표시
hist함수 : 색깔 바꾸기
facecolor에 red를 주고 색깔을 변경하기
hist함수 : 투명도 조정
alpha에 0.4를 주고 색깔에 대한 투명도를 조정
하기
hist함수 : 전체 비율값 1로 조정
normed에 1를 주면 앞의 전체 비율이 합이 1로
처리
hist함수 : histtype
histtype에 stepfilled를 주면 경계선이 없어짐
Axes 객체 처리
Axes.hist 메소드
hist 메소드를 이용해서 처리
Cumulative는 누적 분포를 나타내는 그래프를
추가로 그리기 위한 파라미터
MATPLOTLIB
PYPLOT
BOXPLOT함수
Moon Yong Joon
box 그래프
Axes.boxplot 메소드
boxplot 메소드를 이용해서 처리
boxplot 함수
boxplot 함수를 이용해서 처리
Axes 객체 처리
Axes.boxplot 메소드
boxplot 메소드를 이용해서 처리
MATPLOTLIB
PYPLOT
IMAGE PLOT함수
Moon Yong Joon
이미지 그래프
isshow() 함수
imshow() 함수를 이용해서 이미지 출력
colorbar함수를 이용옆에 옆에 colorbar를 출력
image.read 함수
이미지 파일을 읽고 이를 ndarray로 전환해서
imshow함수로 그래프 출력
이미지 처리시 좌표축 제거하기
axis(‘off’)를 이용해서 이미지만 출력
MATPLOTLIB
PYPLOT
LOGPLOT 함수
Moon Yong Joon
log 그래프
subplot 사용시 2개 Axes 생성
Axes 객체를 2개 생성해서 그래프를 2개로 분
리
semilogy/loglog 함수
log를 처리한 결과를 그래프로 표시
MATPLOTLIB
TWO-DIMENSIONAL
PLOTS 함수
Moon Yong Joon
Contour plots
데이터 구조 이해하기
meshgrid 함수를 이용해서 2개의 같은 차원의
ndarray 를생성
Contour plots
Contour plots을 이용해서 여러 원에 대해 그
래기
MATPLOTLIB
그래프 꾸미기
텍스트 처리
Moon Yong Joon
Basic text commands
Basic text commands
Basic text commands 함수들
text
text 함수 : 기초
그래프 내에 특정 좌표에 문자열이 들어가도록
입력해서 표시
text 함수 : 좌표에 따른 표시
text함수는 Text 클래스의 객체를 생성하고 그
위치 값을 좌표로 해서 문자열을 출력함
text 함수 : 위치 지정 1
text함수에 위치지정 파라미터 수직방향(va: top,
bottom, center, baseline), 수평방향
(ha :center, right, left')로 표시
text 함수 : 위치 지정 2
text함수에 수평방향은 위치를 표시할 경우 우리
가 보는 반대방향에 표시 됨
오른쪽 왼쪽
text 함수 :latex로 기호 표시
문자열 내의 기호는 latex 방식에 위해 표시
text 함수 : text 붙이기
그래프 내에 text를 사용해서 입력하기
텍스트에 대해 입력
title
title 함수 : 제목 붙이기
그래프에 제목을 표시
title 함수 : font/color 처리
Latex로 정의한 문자열에 대해 fontsize와
color 처리
label
ylabel 함수 : label 붙이기
y축 그래프에 의미를 부여하기
xlabel 함수 : label 붙이기
x축 그래프에 의미적인 레이블을 부여하기
xlabel 함수 : font/color
x축 그래프에 label에 fontsize와 font color 변
경하기
annotate
annotate 함수 : 기초
annotate 함수는 문장열, xy(화살표 끝 지시),
xytext(문자열 시작 위치), arrowpros(화살표) 그
래프에 주석을 표시
xycoords/textcoords :1
“axes fraction”으로 지정시 xy 좌표가 1보다
작으면 아래 방향으로 1보다 크거나 같으면 위로
가르킴
xycoords/textcoords : 값 설명
xycoords/textcoords 내의 값에 대한 설명
argument coordinate system
‘figure points’ points from the lower left corner of the figure
‘figure pixels’ pixels from the lower left corner of the figure
‘figure fraction’ 0,0 is lower left of figure and 1,1 is upper right
‘axes points’ points from lower left corner of axes
‘axes pixels’ pixels from lower left corner of axes
‘axes fraction’ 0,0 is lower left of axes and 1,1 is upper right
‘data’ use the axes data coordinate system
annotate 함수 : 실행
annotate 함수는 그래프에 주석을 표시
annotate 함수 : arrowpros
arrowpros(화살표) 이 주요 파라미터 및
Polygon 파라미터 이용
arrowprops key description
width the width of the arrow in points
frac the fraction of the arrow length occupied by the head
headwidth the width of the base of the arrow head in points
shrink
move the tip and base some percent away from the annotated poi
nt and text
**kwargs any key for matplotlib.patches.Polygon, e.g., facecolor
matplotlib.patches.Polygon,
도형을 그리는 클래스의 속성들
Method 사용하기
Figure 메소드 사용
Figure 내부의 메소드를 해서 사용하기
Figure 메소드 사용: 결과
결과
MATPLOTLIB
화면 꾸미기
Moon Yong Joon
figure/subplot
figure 함수 : 기초
하나의 화면에 그래프를 여러 개 그리기위해서
는 figure 함수를 지정해서 Figure 객체를 생성
subplot함수 : 캔버스를 분리 1
하나의 화면에 그래프를 여러 개 그리기
subplot함수 : 캔버스를 분리 2
하나의 화면에 그래프를 여러 개 그리기
figure/subplot함수 : 예시
하나의 화면에 그래프를 여러 개 그리기
figure/subplot: 여러 개 분리
두개의 캔버스로 분리해서 subplot으로 그래프
그리기
Figure class
add_subplot/add_axes 메소드
Figure 하나를 생성하고 2개의 내부 Axes 객체
생성
첫번째 그래프 표시
Axes로 생성된 ax1에 plot 할당.
ax1.lines[0] 내의 저장된 것을 조회
첫번째 그래프에 label 추가
Axes로 생성된 ax1에 set_xlabel, set_ylabel
로 레이블 추가
첫번째 그래프 지우려면
del ax1.lines[0], ax1.lines.remove(line)으로
그래프 삭제
MATPLOTLIB
좌표 그리기
Moon Yong Joon
axis
axis 함수 이해하기
axis 함수는 리스트의 값을 그대로 표시하고 앞
의 2자리는 x축, 뒤에 2자리는 y축을 표시
ticks
ticks 함수 : 축 넣기
xticks, yticks 함수를 이용해서 세부 값을 부여
limit
lim 함수 : 축 넣기
xlim, ylim 함수를 이용해서 축내의 범위 값을
부여
scale
scale 함수 : 축 자동 변환
yscale을 막고 처리하면 고정축을 가지고 표시
하지만 yscale 처리하면 y축에 스케일처리 됨
legend
기본
그래프에 범주를 표시
범주 붙이기
그래프에 범주를 표시
2개 범주
첫번째 파라미터에 plot처리 결과의 첫번째 요소,
두번째 파라미터에 label 처리
plot(label) 이용 : 1
plot함수의 label을 이용해서 그래프에 범주를
표시
plot(label) 이용 : 2
plot함수의 label을 이용해서 그래프에 범주를
표시
범주 위치 지정
legend 생성시 위치 배정 및 색깔 입히기
MATPLOTLIB
파일처리
Moon Yong Joon
파일 처리 하기
plot 함수 : file 읽고 처리
file를 읽고 Plot 함수를 통해 그래프 그리기
결과를 PDF 처리하기
savefig 함수
결과를 PDF로 보내기
DOCKER에서
JUPYTER NOTEBOK
설정
Moon Yong Joon
Windows 환경
widndows 조건
windows내에서 docker를 사용하기 위한 조건
1. 64-bit 운영체제여야만 한다.
2. 윈도우 버전이 윈도우 7 혹은 그 이상이여야 한다.
3. OS에서 가상화(Virtualization)가 가능해야 한다.
widndows7 추가 업데이트
docker와 browser 연계를 위해서는 아래의
Tool을 설치
Docker 설치
docker 다운로드 및 설치
docker설치시 virtualbox도 같이 설치
https://www.docker.com/products/docker-toolbox
docker : 터미널 구동
docker 를 실행하기 Docker Quickstart
Terminal 실행
docker : vdocker 만들기
docker-machine에 vdocker 만들기
$ docker-machine create vdocker -d virtualbox
docker-machien 확인 방법
docker-machine을 확인하고 vdocker를 실행
docker-machien : error 처리
docker-machine을 확인하고 vdocker가 error
일 경우 rm 명령으로 삭제 후 재생성 필요
Docker 환경 세팅
windows :docker환경 세팅
윈도우 cmd prompt를 실행 (Docker
Quickstart Terminal 창이 아님)
아래의 명령어를 입력한다.
FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd vdocker') DO %i
Docker 내에서 사용하기
windows :docker환경 세팅
Docker Quickstart Terminal 창에서
아래의 명령어를 입력한다.
docker run -it b.gcr.io/tensorflow/tensorflow:latest-devel
tensorflow의 설치가 완료되면 자동으로 리눅스 터미
널 창으로 넘어간다.
Jupyter notebook 사용하기
tensorflow 실행
docker terminal에서 아래의 명령을 실행
docker run -p 8888:8888 -p 6006:6006 -it b.gcr.io/tensorflow/tensorflow
docker에서 8888(jupyter notebook),
6006(tensorboard)에 대해 구동
jupyter notebook 실행
http://192.168.99.100:8888/ 을 웹브라우
저에 입력하면 실행됨
PYTHON
MODULE
INSTALL/
UPGRADE
Moon Yong Joon
Python 모듈 추가하기
Jupyter notebook 에서 모듈조회
!pip list로 모듈 조회(docker 사용시는 docker
이미지 내의 python 모듈 리스트가 조회됨)
Python 모듈 추가하기
Docker 명령으로 컨테이너 확인
docker ps –a 명령으로 현재 컨테이너 확인
현재 실행중인 컨테이너 명
Docker 명령으로 모듈 추가
docker exec {컨테이너명} {pip 명령} 으로 실행
Jupyter notebook 에서 모듈 추가
!pip install {모듈명} –upgrade 로 추가

More Related Content

PPTX
파이썬 Numpy 선형대수 이해하기
PDF
Pr083 Non-local Neural Networks
PDF
CSW2017 Peng qiu+shefang-zhong win32k -dark_composition_finnal_finnal_rm_mark
PPTX
Threaded Binary Tree.pptx
PDF
boosting 기법 이해 (bagging vs boosting)
PDF
카카오톡으로 여친 만들기 2013.06.29
PDF
Deeplabv1, v2, v3, v3+
PDF
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
파이썬 Numpy 선형대수 이해하기
Pr083 Non-local Neural Networks
CSW2017 Peng qiu+shefang-zhong win32k -dark_composition_finnal_finnal_rm_mark
Threaded Binary Tree.pptx
boosting 기법 이해 (bagging vs boosting)
카카오톡으로 여친 만들기 2013.06.29
Deeplabv1, v2, v3, v3+
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016

What's hot (20)

PPTX
Bioinformática com Rosalind utilizando Python
PDF
딥러닝 논문읽기 모임 - 송헌 Deep sets 슬라이드
PPTX
Linguagem C - Vetores, Matrizes e Funções
PPTX
bfs and dfs (data structures).pptx
PPTX
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
PDF
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
PDF
Metric learning 세미나
PPTX
엘라스틱서치 이해하기 20160613
PDF
Linguagem de Programação Java para Iniciantes
PPTX
Binary trees1
PPTX
Binary expression tree
PPTX
Jupyter notebook 이해하기
PDF
Aula 06 vetores e matrizes
PPTX
Binomial Heaps and Fibonacci Heaps
PDF
Functional Design Patterns (DevTernity 2018)
PDF
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
PPT
Bst(Binary Search Tree)
PDF
스프링 시큐리티 구조 이해
PDF
sort search in C
PDF
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
Bioinformática com Rosalind utilizando Python
딥러닝 논문읽기 모임 - 송헌 Deep sets 슬라이드
Linguagem C - Vetores, Matrizes e Funções
bfs and dfs (data structures).pptx
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Metric learning 세미나
엘라스틱서치 이해하기 20160613
Linguagem de Programação Java para Iniciantes
Binary trees1
Binary expression tree
Jupyter notebook 이해하기
Aula 06 vetores e matrizes
Binomial Heaps and Fibonacci Heaps
Functional Design Patterns (DevTernity 2018)
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Bst(Binary Search Tree)
스프링 시큐리티 구조 이해
sort search in C
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
Ad

Similar to Matplotlib 기초 이해하기_20160730 (20)

PPTX
Python+numpy pandas 2편
PDF
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
PPTX
Python 활용: 이미지 처리와 데이터 분석
PDF
Matlab guide
PDF
Coursera Machine Learning으로 기계학습 배우기 : week2
PPTX
Python Sympy 모듈 이해하기
PPTX
Pyconkr2019 features for using python like matlab
PDF
R 스터디 네번째
PPTX
Doing math with python.ch06
PPTX
Python_numpy_pandas_matplotlib 이해하기_20160815
PDF
R 스터디 첫번째
PPTX
R 프로그래밍-향상된 데이타 조작
PDF
R 기초 : R Basics
PPT
웃으면서Python
PPTX
From MATLAB User to Python User
PPTX
Python+numpy pandas 1편
PDF
Python
PPTX
통계자료 분석을 위한 R
PDF
통계자료분석을 ㅇ
PPTX
iT Cafe - Linear Algebra & Python Overview
Python+numpy pandas 2편
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
Python 활용: 이미지 처리와 데이터 분석
Matlab guide
Coursera Machine Learning으로 기계학습 배우기 : week2
Python Sympy 모듈 이해하기
Pyconkr2019 features for using python like matlab
R 스터디 네번째
Doing math with python.ch06
Python_numpy_pandas_matplotlib 이해하기_20160815
R 스터디 첫번째
R 프로그래밍-향상된 데이타 조작
R 기초 : R Basics
웃으면서Python
From MATLAB User to Python User
Python+numpy pandas 1편
Python
통계자료 분석을 위한 R
통계자료분석을 ㅇ
iT Cafe - Linear Algebra & Python Overview
Ad

More from Yong Joon Moon (20)

PPTX
rust ownership
PDF
Scala namespace scope
PDF
Scala companion object
PDF
Scala block expression
PDF
Scala self type inheritance
PDF
Scala variable
PDF
Scala type class pattern
PDF
Scala match pattern
PDF
Scala implicit
PDF
Scala type args
PPTX
Scala trait usage
PPTX
Scala nested function generic function
PDF
Scala dir processing
PDF
Scala syntax function
PDF
스칼라 클래스 이해하기 _Scala class understanding
PPTX
파이썬 반복자 생성자 이해하기
PPTX
파이썬 프로퍼티 디스크립터 이해하기
PPTX
파이썬 문자열 이해하기
PPTX
파이썬 플라스크 이해하기
PPTX
파이썬 내부 데이터 검색 방법
rust ownership
Scala namespace scope
Scala companion object
Scala block expression
Scala self type inheritance
Scala variable
Scala type class pattern
Scala match pattern
Scala implicit
Scala type args
Scala trait usage
Scala nested function generic function
Scala dir processing
Scala syntax function
스칼라 클래스 이해하기 _Scala class understanding
파이썬 반복자 생성자 이해하기
파이썬 프로퍼티 디스크립터 이해하기
파이썬 문자열 이해하기
파이썬 플라스크 이해하기
파이썬 내부 데이터 검색 방법

Matplotlib 기초 이해하기_20160730