Added more doctests

master
pbrod 9 years ago
parent c7ec169ada
commit 790e21f1f4

@ -560,13 +560,12 @@ class JITImport(object):
def __getattr__(self, attr): def __getattr__(self, attr):
try: try:
return getattr(self._module, attr) return getattr(self._module, attr)
except: except AttributeError as exc:
if self._module is None: if self._module is None:
self._module = __import__(self._module_name, None, None, ['*']) self._module = __import__(self._module_name, None, None, ['*'])
# assert(isinstance(self._module, types.ModuleType), 'module') # assert(isinstance(self._module, types.ModuleType), 'module')
return getattr(self._module, attr) return getattr(self._module, attr)
else: raise exc
raise
class DotDict(dict): class DotDict(dict):
@ -2617,6 +2616,18 @@ def ndgrid(*args, **kwargs):
""" """
Same as calling meshgrid with indexing='ij' (see meshgrid for Same as calling meshgrid with indexing='ij' (see meshgrid for
documentation). documentation).
Example
-------
>>> x, y = ndgrid([1,2,3],[4,5,6])
>>> np.allclose(x, [[1, 1, 1],
... [2, 2, 2],
... [3, 3, 3]])
True
>>> np.allclose(y, [[4, 5, 6],
... [4, 5, 6],
... [4, 5, 6]])
True
""" """
kwargs['indexing'] = 'ij' kwargs['indexing'] = 'ij'
return meshgrid(*args, ** kwargs) return meshgrid(*args, ** kwargs)
@ -2911,8 +2922,36 @@ def _make_bars(limits, bin_):
return xx, yy return xx, yy
def _histogram(data, bins=None, range=None, normed=False, weights=None,
density=None):
"""
Example
-------
>>> import numpy as np
>>> data = np.linspace(0, 10)
>>> xx, yy, limits = _histogram(data)
>>> len(limits)
12
>>> xx, yy, limits = _histogram(data, bins=[0, 5, 11])
>>> np.allclose(xx, [ 0, 0, 5, 5, 5, 11, 11])
True
>>> np.allclose(yy, [ 0., 25., 25., 0., 25., 25., 0.])
True
>>> np.allclose(limits, [[ 0], [ 5], [11]])
True
"""
x = np.atleast_1d(data)
if bins is None:
bins = np.ceil(4 * np.sqrt(np.sqrt(len(x))))
bin_, limits = np.histogram(data, bins=bins, range=range, normed=normed,
weights=weights, density=density)
xx, yy = _make_bars(limits, bin_)
return xx, yy, limits
def plot_histgrm(data, bins=None, range=None, # @ReservedAssignment def plot_histgrm(data, bins=None, range=None, # @ReservedAssignment
normed=False, weights=None, lintype='b-'): normed=False, weights=None, density=None, lintype='b-'):
''' '''
Plot histogram Plot histogram
@ -2951,8 +2990,12 @@ def plot_histgrm(data, bins=None, range=None, # @ReservedAssignment
>>> import wafo.misc as wm >>> import wafo.misc as wm
>>> import wafo.stats as ws >>> import wafo.stats as ws
>>> R = ws.weibull_min.rvs(2,loc=0,scale=2, size=100) >>> R = ws.weibull_min.rvs(2,loc=0,scale=2, size=100)
>>> R = np.linspace(0,10)
>>> bins = good_bins(R)
>>> len(bins)
13
h0 = wm.plot_histgrm(R, 20, normed=True) h0 = wm.plot_histgrm(R, bins, normed=True)
x = np.linspace(-3,16,200) x = np.linspace(-3,16,200)
h1 = plt.plot(x,ws.weibull_min.pdf(x,2,0,2),'r') h1 = plt.plot(x,ws.weibull_min.pdf(x,2,0,2),'r')
@ -2964,13 +3007,7 @@ def plot_histgrm(data, bins=None, range=None, # @ReservedAssignment
numpy.histogram numpy.histogram
''' '''
x = np.atleast_1d(data) xx, yy, limits = _histogram(data, bins, normed, weights)
if bins is None:
bins = np.ceil(4 * np.sqrt(np.sqrt(len(x))))
bin_, limits = np.histogram(data, bins=bins,
normed=normed, weights=weights)
xx, yy = _make_bars(limits, bin_)
return plotbackend.plot(xx, yy, lintype, limits, limits * 0) return plotbackend.plot(xx, yy, lintype, limits, limits * 0)

Loading…
Cancel
Save