티스토리 뷰

Python에서 pylab을 활용하여 그래프를 그리는 예제코드입니다.


pylab 다운로드 홈페이지

  http://www.scipy.org/Download


pylab 다운 및 설치

 pylab 홈페이지에 나와있는 명령어는 아래와 같으며, 소스코드는 오픈소스이기에 git을 사용하여 다운 받아 빌드할 수 있도록 명령을 제공하고 있습니다.

sudo apt-get install python-numpy python-scipy


실제 python-numpy와 python-scipy 만 설치하면 실제 python에서는 명령어를 사용 할 수 없고, 아래와 같이 에러가 표시됩니다.

제가 사용한 OS는 Ubuntu 입니다. pylab을 설치하기 위해서는 아래의 명령어를 사용하시면 됩니다.

 (명령어 출처 : http://exciting-code.org/install-pylab-matplotlib-and-ipython)

sudo apt-get install   python-libxml2  python-matplotlib python-numpy ipython python-scipy python-tk

data.txt

45 23 55
-36 -5 -7


f(x) = a*x^2 + b*x + c 의 수식을 계산한 Python 코드

''' data.txt에서 파일을 읽어 들이고
    a, b, c 변수에 값을 float로 저장
    func 함수를 이용하여 f(x) = a*x^2 + b*x + c 계산
    pylab을 이용하여 그래프 작성 및 저 '''
import numpy as np
import pylab

def func(a, b, c): #func 함수
	@np.vectorize
	def f(x): #f(x) 함수 선언
		return a*x**2 + b*x + c #결과 리턴
	return f

file = open("data.txt", "r") #파일 읽기

i = 0
for line in file: #for로 읽어 들이기
	a, b, c = line.split() #" "를 기준으로 자르기
	a = float(a); b = float(b); c = float(c) #a, b, c에 저장

	f = func(a, b, c)
	ax = -b/(2*a)
	X = np.arange(ax-4, ax+4, 0.01)

	pylab.scatter(X, f(X), 1) #scatter(시작 값, 종료 값, 선 두께
	pylab.ylabel(' y ')
        pylab.xlabel(' x ')
	pylab.title('f (x)')
	pylab.grid(True) #grid를 사용
	
pylab.savefig('func1.png') #저장


결과





댓글