I am still very green to Python although I do have some programming experience (mainly MATLAB and a C class I took about 9 years ago, :P!!). For example, I've seen a few ways how to load these libraries:
import numpy
import pylab
or
from pylab import *
From here I found this nice quote: http://old.nabble.com/pylab-td24910613.html
Numpy is the common core, providing N-dimensional arrays and math; matplotlib is a plotting library, using numpy; scipy is a collection of math/science functionality, also using numpy.Here is a decent (decent as in I still don't understand fully) explanation of the different import/package/library options:
http://johnstachurski.net/lectures/more_numpy.html
A quick aside on the relationship between Pylab and Matplotlib
One way to do plots with Matplotlib is like this
import pylab
pylab.plot([1, 2, 3])
pylab.show()
The same can be achieved by
import matplotlib.pyplot as plt
plt.plot([1, 2, 3])
plt.show()
What is the difference?
We can see the difference in the pylab initialization file:
## some stuff
from numpy import *
from numpy.fft import *
from numpy.random import *
from numpy.linalg import *
## some more stuff
from matplotlib.pyplot import *
## some more stuff
Thus,
import pylab
brings in- everything from the NumPy namespace
- everything from various NumPy submodules (
random
,linalg
, etc.) - everything from
matplotlib.pyplot
The plotting functions are in
matplotlib.pyplot
Another explanation I found: http://code.activestate.com/lists/python-tutor/87392/
what is the basic difference between the commands
import pylab as *
import matplotlib.pyplot as plt
import numpy as np import numpy as *One response: http://code.activestate.com/lists/python-tutor/87394/
import pylab as * pollutes your global namespace with all kinds of symbols. If you don't know them all, you might accidentally use one of them in your own code, and wonder why things aren't working the way you expected. Better is import pylab and then use pylab.something to access a symbol from pylab Some prefer import pylab as pab (or something) and then use pab.something to save some typing. import matplotlib.pyplot as plt looks in the matplotlib *package" for the module pyplot, then imports it with a shortcut name of pltAnother response: http://code.activestate.com/lists/python-tutor/87400/
> what is the basic difference between the commands > import pylab as * Are you sure you don't mean from pylab import * ??? The other form won't work because * is not a valid name in Python. You should ghet a syntax error. > import matplotlib.pyplot as plt This is just an abbreviation to save typing matplotlib.pyplot in front of every reference to the module names. > import numpy as np as above > import numpy as * again an error.
Anyways, I would recommend reading on the structure of python here http://docs.python.org/contents.html which is what I plan on doing.
On to the plot.
The code:
from pylab import * r=arange(0,1,0.01) z=arange(0,1,0.01) sigma=1 l=1 kappa=1/(2*pi*sigma*l) u=-(kappa/r)*sin(pi*pow(r, 2)) plot(r,u) ylabel('$ u_r $') xlabel('$ r $') title('$ u_r $') show()
The figure:
Screenshot of Spyder IDE:
No comments:
Post a Comment