업데이트:

2 분 소요

개요

데이터를 시각화 한다면 데이터에서의 이상치나 분석을 하는데 더욱 용이하기 때문에 matplotlib은 요긴하게 사용될 수 있다. 함수를 그려주는 라이브러리로는 MATLAB 또한 존재하는 것으로 알고있는데, 꼭 MATLAB을 써야 하는 상황이 아니라면 matplotlib을 사용한다는 의견이 대다수 였다.

matplotlib을 사용하기 위해서는 다음과 같이 import를 해줘야한다.

from matplotlib import pyplot as plt
#or
import matplotlib.pyplot as plt
#이쪽이 훨씬 간편하다

import에 있어서 바로 ‘import matplotlib’가 아니라 matplotlib.pyplot과 같이 사용하는 것이 잊어버리기 쉬울 것 같아 정리해 놓았다.

import하는 방법을 알아보았으니 바로 주요 함수에 대해 정리했다.

주요 함수

plt.plot(x,y)

plt.plot은 정수 x, y를 받아들여 x축과 y축을 그린다.
list 형을 하나만 넣어준다면 이 안의 값들을 y값으로 그려내고, x값으로는 자동으로 이에 맞는 x값 [0, 1, 2, 3] 값을 생성한다.

plt.plot([1,2,3,4])

matplot1.png

다음은 x 값을 추가해준 코드이다.

plt.plot([1, 2, 3, 5, 6], [1, 3, 5, 10, 18])

matplot2.png

이해를 돕기 위해 반대로도 적용해 보았다.

plt.plot([1, 3, 5, 10, 18],[1, 2, 3, 5, 6])

matplot3.png

Graph colors, line style, markers

x,y에 대한 리스트 이외로 세번째 인자를 줘서 다른 옵션을 줄 수 있는데, 그 인자의 종류로는 아래가 있다.

Color

Colors Factor
blue ‘b’
green ‘g’
red ‘r’
cyan ‘c’
magenta ‘m’
yellow ‘y’
black ‘k’
white ‘w’

Line Style

Description Factor
solid line ’-‘
dashed line ’–’
dash-dot line ’-.’
dotted line ’:’

Marker

Description Factor
point marker ’.’
pixel marker ’,’
circle marker ‘o’
triangle_down marker ‘v’
triangle_up marker ’^’
triangle_left marker ’<’
triangle_right marker ’>’
tri_down marker ‘1’
tri_up marker ‘2’
tri_left marker ‘3’
tri_right marker ‘4’
square marker ’s’
pentagon marker ‘p’
star marker ‘*’
hexagon1 marker ‘h’
hexagon2 marker ‘H’
plus marker ’+’
x marker ‘x’
diamond marker ‘D’
thin_diamond marker ‘d’
vline marker ’|’
hline marker ‘_’

세번째 인자 값으로 ‘bo’를 준다면 파란색 원형 마커로 표시된다.

plt.plot([1, 2, 3, 5, 6], [1, 3, 5, 10, 18], 'bo')

matplot_bluedot.png

title(‘title name’)

그래프의 제목을 정해줄 수 있다.

plt.title("cyan diamond graph")
plt.plot([1,3, 5, 10, 18],[1,2, 3, 5, 6],'cd')

matplot_title.png

plt.ylabel(‘labelname’)/ plt.xlabel(‘labelname’)

xlabel, ylabel로 각 축의 이름을 설정해 줄 수 있다.

plt.plot([1, 2, 3, 5, 6], [1, 3, 5, 10, 18])
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.show()

matplot_x_ylabel.png

xticks(list), yticks()

xticks와 yticks는 x축, y축 별로 원하는 눈금을 그릴 수 있게 한다.

plt.plot([1,3, 5, 10, 18],[1,2, 3, 5, 6],'cd')
plt.plot([2, 3, 6, 10, 18],[2, 4, 6, 10 ,12],'b-')
plt.xticks([0, 10, 20])
plt.yticks([1, 5, 10])

xyticks.png

bar(x, y)

정해놓은 x축 위에 y높이 만큼의 그래프를 그려준다.
xticks와 함께 사용하면 보기 좋을 것이라는 생각을 했다.

x = np.arange(3)
counts = ['first', 'second', 'third']
val = [100, 500, 1000]

plt.bar(x, val)
plt.xticks(x, counts)
plt.show()

bar.png

scatter(x, y)

plt.scatter(x, y)는 산점도를 그려준다.
옵션으로는 마커의 면적을 정해주는 s 옵션, 각 점에 색깔을 부여하는 c 옵션, 투명도를 정해줄 수 있는 alpha 옵션이 있다.

N = 30
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (10 * np.random.rand(N))**2
plt.scatter(x,y, c= colors s = area alpha = 0.1)

scatter.png

댓글남기기