반응형

환경 : windows 7 32bit, numpy 1.8.1, matplotlib 1.3.1



http://matplotlib.org/api/pyplot_api.html#module-matplotlib.pyplot


pylab combines pyplot with numpy into a single namespace. This is convenient for interactive work, but for programming it is recommended that the namespaces be kept separate.


--> 즉, pylab  = matplotlib.pyplot + numpy

       - interactive 환경 (shell, ipython 등) 에서만 pylab 사용하고, 

          프로그래밍시에는  각각 matplotlib.pyplot , numpy 로 구분하여 사용하라!!!



* 프로그래밍시 사용법 (namespace 구분)

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.1);
y = np.sin(x)
plt.plot(x, y)
plt.show()



* interactive 환경에서 사용시 권장되는 방법 (pylab 으로 namespace 통합하면 편함.)

import pylab 

x = pylab.arange(0, 5, 0.1);
y = pylab.sin(x)
pylab.plot(x, y)
pylab.show()



* 권장되지 않는 사용법 (namespace 구분없어서, 함수명 등 충돌 가능성 높음.)

from pylab import *

x = arange(0, 5, 0.1);
y = sin(x)
plot(x, y)
show()




<< 참고 >>

http://matplotlib.org/faq/usage_faq.html#matplotlib-pylab-and-pyplot-how-are-they-related


Matplotlib is the whole package; pylab is a module in matplotlib that gets installed alongside matplotlib; and matplotlib.pyplot is a module in matplotlib.


Pylab combines the pyplot functionality (for plotting) with the numpy functionality (for mathematics and for working with arrays) in a single namespace, making that namespace (or environment) even more MATLAB-like. 


The pyplot interface is generally preferred for non-interactive plotting (i.e., scripting). The pylab interface is convenient for interactive calculations and plotting, as it minimizes typing. 





*** matplotlib : 3부분으로 구성됨.

1. pylab interface 

2. matplotlib frontend or matplotlib API 

3. backends 




***  비교사항 : 아래 2가지 표현법은 똑같다!!!         

      import matplotlib.pylab 

import pylab   

      

     --- 아래에서 보듯이 각각 사용하는 모듈은 다르지만, 실제 내용은 같다.


    ==> 즉, import pylab 에서 사용하는 모듈 소스는 C:\Python27\Lib\site-packages\pylab.py  !!!

       이 소스를 열어보면 아래와같다.

from matplotlib.pylab import *
import matplotlib.pylab
__doc__ = matplotlib.pylab.__doc__


즉, import pylab  과 import  matplotlib.pylab 은 내부적으로 똑같은 기능을 한다!




반응형
Posted by 자유프로그램
,