반응형

파이썬 데이터 분석 / matplotlib - 여러 개의 그래프 그리기 subplot()

 

subplot() 함수

여러 개의 그래프를 하나의 그림에 나타내도록 하는 함수 입니다. 

함수를 호출하면, 각 그래프의 인스턴스가 반환되어, 각 그래프의 정보에 접근하여 그래프를 설정할 수 있게 됩니다. 

 

subplot의 전달인자는 아래와 같고, row와 column에 따라 아래 그림과 같이 출력됩니다. 

2 x 2 크기의 그래프를 만들어 보겠습니다. 

그래프 4개가 보여지고, 데이터를 입력하지 않아 빈 그래프만 보입니다. 

첫번째 그래프에 데이터를 입력해 보겠습니다.

첫번째 그래프와 세번째 그래프의 인스턴스인 ax1과 ax3에 plot() 함수를 통해 데이터를 입력하였습니다.

그러면 아래와 같이 표시되는 것을 볼 수 있습니다. 

그런데 4개의 그래프의 위치가 너무 붙어 있는 것처럼 보여, 헷갈려 보입니다. 

각 그래프 위치를 조절해 보겠습니다. 

x

약간 구분이 가도록 각 그래프의 크기와 간격을 자동으로 변경해주는 함수가 tight_layout() 함수입니다.

이 함수를 사용하게 되면 아래와 같이 그래프의 사이가 조절되는 것을 볼 수 있습니다.

각 그래프의 크기와 간격을 수동으로 변경해주려면 subplots_adjust() 함수를 사용합니다.

wspace와 hspace는 각 그래프 사이의 간격을 위해 각각 그래프의 너비와 높이에 대한 비율을 조절합니다. 

left, bottom, right, top은 각 그래프의 4면의 위치를 조절합니다. 

 

반응형
반응형

파이썬 OpenCV / 이미지 로그 및 정보 조회, BGR -> RGB 변환

 

OpenCV는 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리로써, 이미지에서 패턴이나 물체를 인식하는 능력이 좋습니다. 이미지에서 얼굴이나 사물을 인식하기 위해 많이 사용됩니다. 

 

OpenCV 라이브러리를 이용해서 간단히 이미지를 로드하여 보겠습니다. 

 

OpenCV 라이브러리 설치

주피터 노트북을 사용하여 설치해 보겠습니다. 

주피터 노트북 설치는 아래 링크에서 확인하시면 됩니다. 

https://zidarn87.tistory.com/314

 

파이썬 주피터 노트북 설치 (jupyter notebook) - 윈도우 용

파이썬 주피터 노트북 설치 (jupyter notebook) 주피터 노트북은 웹 브라우저에서 파이썬 코드를 작성하고 단계적으로 실행 가능하도록 하는 개발자 도구입니다. 파이썬 주피터 노트북을 설치해

zidarn87.tistory.com

 

주피터 노트북에서 아래 명령어를 입력하여 실행시키면 설치됩니다. 

pip install opencv-python

이미지 복사

로드하려는 이미지를 jupyter의 저장공간에 업로드합니다. 

원본 파일은 아래와 같습니다. 

이미지 로드

OpenCV의 imread 함수로 이미지를 로드하고,

matplotlib.pyplot 모듈로 이미지를 출력합니다. 

imread 함수에는 옵션을 넣을 수 있는데, 사물을 인식하기 위해 흑백 모드를 많이 사용합니다. 

OpenCV에서는 컬러 사진을 BGR 순서로 저장하고, matplotlib에서는 RGB 순서로 저장하기 때문에 BGR 순을 그대로 출력하게 되면 아래와 같이 원본과 색상이 다른 것을 볼 수 있습니다. 

m

BGR 사진을 RGB 사진으로 변환

RGB로 변환하는 방법은 간단합니다. 

cvtColor 함수로 이미지를 로드하는데, 옵션값으로 cv2.COLOR_BGR2RGB를 넣어줍니다. 

반환된 이미지 객체를 출력하면 원본 사진과 동일한 색상으로 출력되는 것을 볼 수 있습니다. 

이미지 정보 확인

OpenCV 라이브러리의 imread 함수로 반환되는 객체의 타입은 numpy.ndarray 타입입니다. 

배열로 구성되어 있는데, 그 크기는 (576, 768) 입니다. 

결국 이미지도 숫자로 이루어져 있다는 것을 알 수 있습니다. 

 

반응형
반응형

파이썬 데이터 분석 / matplotlib 패키지 라인 플롯(line plot) 스타일 설정

 

데이터 생성

우선 plot의 스타일을 알아보기 위해 데이터를 생성합니다.

 

matplotlib 색상 지정

라인의 색상을 정하기 위해 색상 옵션을 설정할 수 있습니다.

색상을 지정하는 방법은 색 이름 또는 약자 또는 #로 시작되는 RGB 코드를 사용할 수 있습니다. 

아래는 자주 사용하는 색상표입니다.

문자열 약자
Blue b
Green g
Red r
White w
Yellow y
Black b
Cyan c
Magenta m

matplotlib Marker 종류

데이터의 위치를 나타내는 기호를 마커(Makter)라고 합니다.

마커의 종류는 아래와 같고, 색상과 마찬가지로 옵션으로 지정해줄 수 있습니다.

기호 의미
. Point marker
, Pixel marker
o Circle marker
v Triangle down marker
^ Triangle up marker
< Triangle left marker
> Triangle right marker
s Square marker
p Pentagon marker
* Star marker
h Hexagon marker
+ Plus marker
x X marker

matplotlib 선 종류

선 스타일에는 아래 표와 같이 있습니다. 

기호 의미
- 실선 스타일 - solid
-- 대시선 스타일 - dashed
-. 대시 점선 스타일 - dashdot
: 점선 스타일 - dotted

matplotlib 기타 스타일

위의 스타일 외에도 여러가지 스타일을 지정할 수 있습니다. 

문자열 약자 의미
color c 'r', 'g', 'b', 'w' ... 선 색상
linewidth lw 정수 선 굵기
linestlye ls '-', '--', '-.', ':' 선 스타일
marker m 'o', '^',  '<', ... 마커 종류
markersize ms 정수 마커크기
markeredgecolor mec 'r', 'g', 'b', 'w' ... 마커 선 색상
markeredgewidth mew 정수 마커 선 굵기
markerfacecolor mfc 'r', 'g', 'b', 'w' ... 마커 내부 색상

반응형
반응형

파이썬 데이터 분석 / Dataframe의 내용을 pyplot 모듈로 그래프 그리기

 

필요한 모듈 import하기

그래프를 그려줄 pyplot과 DataFrame을 만들기 위해 pandas 라이브러리를 import합니다.

 

리스트의 내용을 DataFrame으로 만들기

4 x 2 리스트를 만들고, 그 리스트를 DaataFame의 전달인자로 넣어줍니다. 

그 때 columns은 'x', 'y'로 지정하였습니다. 

이제 frame['x'], frame['y']에 접근이 가능해졌습니다. 

이 DataFrame의 'x' 데이터와 'y' 데이터를 가지고 그래프를 그려보도록 하겠습니다. 

 

그래프 그리기

matplotlib.pyplot에서 plot(x,y)를 사용하면 됩니다. 

x,y는 각각 X축과 Y축의 값이 됩니다. 

이 x, y에 각각 frame['x']와 frame['y']를 넣어주고, 'rs--' 라는 옵션을 지정해줍니다. 

그리고 plt.show()를 하면 아래와 같이 그래프를 출력해주는 것을 볼 수 있습니다. 

 

 

다음 포스팅에서는 이 그래프의 선종류, 선색상, 라벨 등등을 꾸며보도록 하겠습니다.

반응형

+ Recent posts