본문 바로가기
Python

[Python] matplotlib 패키지를 이용한 간단한 그래프 생성, 패키지 설치부터 연습까지 한번에!

by CallmeJames 2021. 4. 4.
반응형

개인적으로 저는 데이터를 처리할 때 python을 주로 사용하는데요, 이유는 커스텀이 쉽고 많은 전문가님들께서 아주 잘 만든 패키지가 아주 만족스럽게 작동하기 때문에, 고효율로 데이터를 처리할 수 있었기 때문입니다.

 

특히, 시계열 데이터를 처리하다 보면 결과를 그래프로 확인해 보고 싶은 경우가 있는데요, 그때마다 처리된 데이터를 엑셀에서 그래프로 그려 볼 수도 있겠지만, 엑셀 로딩 시간조차 짜증이 난다면, 시간을 중요성이 첫 번째인 사람들이라면 한 번쯤,  python으로 그래프를 그려 보는 것을 추천드립니다.

 

간단한 형태의 그래프를 출력해 보는 코딩을 소개합니다.

 

2차원 그래프를 그려 볼 건데요, x, y 값만 있는 아주 일반적인 보통의 그래프입니다.

준비물은 IDLE, matplotlib 패키지입니다.

 

 

 

저는 matplotlib 패키지 설치되어 있지 않아서, 설치하도록 하겠습니다.

 

pip search 가 더 이상 사용할 수 없다는 이슈가 있기 때문에

 

http://pypi.org/

 

PyPI · The Python Package Index

The Python Package Index (PyPI) is a repository of software for the Python programming language.

pypi.org

이곳에서 패키지를 검색해 주세요

검색 페이지에서 "matplotlib"검색하고,

Fig. 1 matplotlib 찾기

 

첫 번째, "matplotlib 3.4.1" 클릭!

 

Fig. 2 install 명령어 복사

[복사 아이콘] 클릭!

pip 인스톨 명령어가 클립 도드에 복사가 됐어요.

 

이제 cmd 창에 붙여넣기 하고 엔터 하면 설치가 시작됩니다.

[윈도키] > cmd 엔터 > 마우스 오른쪽 클릭! 엔터

 

이런 식으로 뭔가 있어 보이게 설치가 됩니다.

Fig. 3 matplotlib 설치

 

설치가 완료되면,

c:\pip list 

이렇게 입력하면

Fig. 4 pip list

잘 설치된 것을 확인할 수 있습니다.

 

 

반응형

 

패키지 설치가 완료됐으니, 그래프를 그려 볼게요.

IDLE을 실행하고 matplotlib를 연결합니다.

 

Fig.5 IDLE plot code 1

아무 말이 안 나오면 정상입니다. 문제가 없네요.

 

코드를 해석하면 "matplotlib 패키지를 plt로 사용하겠다."입니다. 이렇게 하는 이유는, 저는 단순해서 코딩할 때 글이 의미도 있어야 하지만 너무 길면 짜증 나서 줄여 사용합니다.

 

이제 간단한 그래프를 그려 볼게요. 

 

Fig. 6 간단한 그래프 코드 (1)

plot함수에  데이터를 [1,2,3,4,5] 리스트 형태로 넣어 주었습니다. 그랬더니 파란색 문자로 뭔가 처리가 됐다고 하네요.

 

그다음 show() (보여줘!!)입니다.

 

Fig. 7 간단한 그래프 (1)

명령을 하니, 그래프를 보여줬습니다.

근데, 그래프를 자세히 보니 직선입니다. 우리는 분명 5개의 데이터 {1,2,3,4,5]를 넣었는데 말이죠,

 

 

matplot에 대해 좀 더 알아봐야 할 것 같네요..

그래서, 새롭게, 패키지를 연결하고, plot 데이터 다음에 "ro" 옵션을 추가했습니다.

 

Fig. 8 간단한 그래프 코드 (2)

데이터 뒤에 "ro"  붙였습니다. "red", 원(circle)을 뜻합니다.

 

Fig. 9 간단한 그래프 (2)

 

이제 우리가 원했던 그래프가 나타났습니다. 

우리는 옵션이 중요하다는 사실을 깨달았습니다.

 

그래서 옵션을 더 알아봤습니다.  이렇게나 많은 옵션이 있었습니다.

옵션 의미 옵션 의미
b blue o circle
g green v triangel down
r red ^ triangle up
c cyan s square
m magenta + plus
y yellow . point
k black    
w white    

 

또, 우리는 입력했던 데이터가 y축 값이라는 것을 알 수 있습니다.

x축 값은 자동으로 0, 1, 2, 3, 4, 이렇게 들어갔군요. x 축에도 값을 입력해 보고 싶은 생각이 들어서 공부를 더 해보았습니다.

 

Fig. 10 간단한 그래프 코드 (3)

x에 범위를 0 ~20으로 1 간격으로 만들어 줬습니다.

Fig. 11 간단한 그래프 코드 (4)

그리고 y는 x와 동일하게 만들었습니다. 어떻게 만들어지는지 코드를 설명드리면,

 

for문에서 "x에 들어있는 값(0부터 19)이 차례대로 v에 대입된다." 즉, v값이 0이었다가, 1, 2,3, 순으로 변하게 됩니다.  v가 0일 때, 아래 코드가 실행되면 y리스트에 0이 들어갑니다. v가 0부터 19까지 변할 거기 때문에 변경된 값이 차례대로 y에 들어가서 결국에 y는 x 리스트와 동일한 값들을 가지고 있게 됩니다.

Fig. 12 간단한 그래프 코드 (5)

그리고 for 문을 조금 전문가스럽게 코딩하고 싶다면, 아래처럼 하시면 될 것 같습니다.

Fig. 13 간단한 그래프 코드 (6)

간단하고 직관적이지만 남이 잘 알아볼수 없도록 하는 것이 전문가다운 것이죠. 이건 저만의 개인적인 생각입니다. 오해 없길 바랍니다.

 

쉽게 설명하다고 했지만, 아닌것이 현실이기 때문에.......

 

문제를 몇 개 풀다 보면 이해가 빨리 되는 경우도 있더라고요. 그래서 준비했습니다.

 

문항 1) y=x+2라는 그래프를 그려보세요.(단. 데이터 수는 20개) (5점)

[풀이]

 

 

 

문항 2) y=x^2 라는 그래프를 그려보세요.(단. 데이터 수는 100개) (5점)

[풀이]

 

 

 

 

 

오늘은 여기까지 입니다.

 

오늘은 matplot으로 간단한 그래프를 그려 보았습니다.

반응형

댓글