아직도 Python 데리고 놀고 있습니다. 게다가 갑자기 어떤 이유에서 또 아두이노 보드도 요즘 가지고 놀고 있네요. 흠~... 확실히 요런거 가지고 이것저것 마구마구 만져보는게 정말 재미있습니다. 문제가 얘네들 데리고 뭔가 성과가 좀 나와줄려면 확실히 아직은 많이 부족하다는 것이 또한 문제라서 그렇죠.ㅠㅠ. 아무튼... 요즘 Python 데리고 놀다보니, 이것 저것 모듈을 구해서 설치하는게 재미있으면서도 또 귀찮기도 합니다. 어떤건 64비트용이 안나와서 고생하기도 하구요. 그러다가 우연찮게 잘 모아놓은 사이트를 발견해서 그것부터 소개할려구요.^^



[바로가기]이 사이트는 캘리포니아 대학의 주소를 가지고 있는데요. 아주아주 잘 모여 있습니다. 뭐 아직 안정화가 들된 아이들도 좀 있다는 것이 문제긴 하지만^^



Win 64비트용 NumPy를 찾다가 들어오게 된거거든요. 과학분야의 다양한 아이들을 모아놓은 패키지라고 설명이 되어 있습니다. 그런데 이 페이지가 원체 길다보니, 저렇게 CTRL+F로 찾아서 다녀야합니다.^^. 그리고 그래프를 그리기 위한 matplotlib



도 설치했습니다. 이 사이트에서 받을 수 있는 라이브러리들은 윈도우용인 경우 모두 실행화일 형태로 되어 있습니다. 아 근데 Matplotlib를 설치하기 위해서 numpy는 이미 깔았지만, dateutil, pytz, pyparsing, six등을 깔아달라고 요구하네요. 뭐 어차피 모두 있으니 다~ 깔았습니다.




흠흠. 사실.. 뭐 이렇게 깔았다 안깔았다 이야기만 할려는 건 아니었습니다. 저처럼 MATLAB에 익숙한 유저들한테 살짝 뭔가 도움되는 이야기를 하고 싶었는데요. 어쩌다보니 위 이야기도 주절주절 했네요. 제가 예전에 [바로가기] MATLAB의 기초 문법중에서 그래프를.. 그것도 아주 간단한 그래프를 그리는 이야기를 하면서 이것저것 이야기했었는데요. 그글과 비교하시면 됩니다. MATLAB 유저한테는 아주 익숙한 방식이면서도, 또 살짝 다르니까요.



일단, array형태를 사용할려면 numpy를 import 시켜야합니다. 나중에 그래프도 한번 그려볼려고 하니 matplotlib의 pyplot까지도 import 시켜버리죠. 위에 있는 것 처럼 np.array를 이용해서 임의의 배열(그러나 저는 행렬)로 선언하고 한번 둘이 곱(A*B)해 봤습니다. 그 결과는 MATLAB과는 달리 각 위치의 요소들끼리 곱해집니다. 만약 일반적인 행렬연산을 사용할려면 numpy의 dot 명령을 사용해야합니다. np.dot(A,B)라고 하면, 우리가 고등학교때 배웠던 두 행렬의 곱이 되는거죠. MATLAB 유저들한테는 아마 요것만 알면 대충 행렬등의 형태를 Python에서 사용하기 쉬울겁니다.



MATLAB에서는 linspace를 사용할때, 시작, 끝, 간격을 주는데, Python의 linspace는 시작, 끝, 그리고 데이터의 개수를 입력하는게 또 다르더군요. 그리고, 위 코드처럼, numpy.sin, numpy.cos 등 np(저는 처음에 np로 했으니)에 있는 sin, cos... 이런식으로 불러옵니다. 물론 그렇게 안해도 되지만, 나중에 많은 라이브러리를 import하면 함수명에서 혼선이 올수도 있으니 import와 함수의 사용은 위 방식대로 하는게 좋을겁니다. 

일단, 위 코드에서 보면, 0부터 2pi까지 - 그것도 np.pi로 호출 - 100개의 데이터를 생성하고, 그걸로 간편히 sin과 cos 함수의 결과를 y1, y2에 저장한 것입니다. 그리고, 정~말 심플하게 matplotlib.pyplot의 plot함수로 둘을 동시에 그려본 것입니다. 뭐 일단 위 그림처럼 그래프가 생성되네요^^



음.. 중간에 오타가 나서 빨간 색 글씨들이 있지만, 살짝 무시하고, xlabel, ylabel 명령이 역시 MATLAB처럼 존재합니다. 그리고, 처음 그래프처럼 화면에 꽉 차게 만들어 줄려고, axis를 건드려서 딱 범위에 맞게 했습니다. 물론 아래위에 여유를 좀 두었지만요^^



아.. 뭐 간단히 grid도 활성화 시켜주었습니다... 쓸만한 그래프가 되었네요. Python은 이 상태에서 위 그림창 하단의 저장버튼을 누르면 정말 이쁜 형태로 그림이 저장됩니다. 각 종 보고서용으로는 딱이죠^^

Python과 놀다가 살짝 올려봤습니다. 이런 기초스런것은 어차피 해당 라이브러리의 공식 홈페이지에 가면 다 있지만 말이죠.ㅠㅠ. 내일은 휴일입니다.~~~^^ 다들.. 잘 쉬세용^^





http://pinkwink.kr/trackback/571 관련글 쓰기