Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

FIX undefined elements were used at several places in the mlab module #1183

Merged
merged 2 commits into from

4 participants

@NelleV
Collaborator

There were undefined elements in the mlab module. it seems like this module is quite old and not very well tested in terms of coverage; It's also probably not widely used. I've fixed some of the problems but it might be worth it to do a huge clean up in the near future.

@travisbot

This pull request fails (merged cf720bc into cf7618c).

lib/matplotlib/mlab.py
@@ -2780,6 +2772,8 @@ def griddata(x,y,z,xi,yi,interp='nn'):
if xi.ndim == 1:
xi,yi = np.meshgrid(xi,yi)
# triangulate data
+ # FIXME delaunay is not imported here, and depends on the
+ # scipy.spatial packages; Scipy is not a dependency of matplotlib.
tri = delaunay.Triangulation(x,y)
@pelson Collaborator
pelson added a note

Delunay is a mpl sub-package, not the scipy delunay. However, there should be an absoute import of the package, i.e. import matplotlib.delunay rather than a relative one (can you check that for me?).

@NelleV Collaborator
NelleV added a note

Correct. I don't know how I could have missed it... I've deleted the FIXME

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@travisbot

This pull request fails (merged 5d67cef into cf7618c).

@pelson
Collaborator

Looks good.

@efiring efiring merged commit 9448ff2 into from
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Aug 31, 2012
  1. @NelleV
Commits on Sep 1, 2012
  1. @NelleV
This page is out of date. Refresh to see the latest.
Showing with 12 additions and 21 deletions.
  1. +12 −21 lib/matplotlib/mlab.py
View
33 lib/matplotlib/mlab.py
@@ -699,16 +699,15 @@ def entropy(y, bins):
x = mu + sigma * randn(200000)
Sanalytic = 0.5 * ( 1.0 + log(2*pi*sigma**2.0) )
"""
- n,bins = np.histogram(y, bins)
+ n, bins = np.histogram(y, bins)
n = n.astype(np.float_)
n = np.take(n, np.nonzero(n)[0]) # get the positive
p = np.divide(n, len(y))
- delta = bins[1]-bins[0]
- S = -1.0*np.sum(p*log(p)) + log(delta)
- #S = -1.0*np.sum(p*log(p))
+ delta = bins[1] - bins[0]
+ S = -1.0 * np.sum(p * np.log(p)) + np.log(delta)
return S
def normpdf(x, *args):
@@ -722,22 +721,20 @@ def levypdf(x, gamma, alpha):
N = len(x)
- if N%2 != 0:
+ if N % 2 != 0:
raise ValueError('x must be an event length array; try\n' + \
'x = np.linspace(minx, maxx, N), where N is even')
+ dx = x[1] - x[0]
- dx = x[1]-x[0]
+ f = 1/(N*dx)*np.arange(-N / 2, N / 2, np.float_)
+ ind = np.concatenate([np.arange(N / 2, N, int),
+ np.arange(0, N / 2, int)])
+ df = f[1] - f[0]
+ cfl = np.exp(-gamma * np.absolute(2 * np.pi * f) ** alpha)
- f = 1/(N*dx)*np.arange(-N/2, N/2, np.float_)
-
- ind = np.concatenate([np.arange(N/2, N, int),
- np.arange(0, N/2, int)])
- df = f[1]-f[0]
- cfl = exp(-gamma*np.absolute(2*pi*f)**alpha)
-
- px = np.fft.fft(np.take(cfl,ind)*df).astype(np.float_)
+ px = np.fft.fft(np.take(cfl, ind) * df).astype(np.float_)
return np.take(px, ind)
@@ -1458,7 +1455,6 @@ def splitfunc(x):
else:
row = [converterseq[j](val)
for j,val in enumerate(splitfunc(line))]
- thisLen = len(row)
X.append(row)
X = np.array(X, dtype)
@@ -1511,7 +1507,6 @@ def splitfunc(x):
"""
-import operator
import math
@@ -1533,7 +1528,7 @@ def exp_safe(x):
"""
if type(x) is np.ndarray:
- return exp(np.clip(x,exp_safe_MIN,exp_safe_MAX))
+ return np.exp(np.clip(x,exp_safe_MIN,exp_safe_MAX))
else:
return math.exp(x)
@@ -1817,7 +1812,6 @@ def rec_drop_fields(rec, names):
"""
names = set(names)
- Nr = len(rec)
newdtype = np.dtype([(name, rec.dtype[name]) for name in rec.dtype.names
if name not in names])
@@ -2146,8 +2140,6 @@ def csv2rec(fname, comments='#', skiprows=0, checkrows=0, delimiter=',',
import dateutil.parser
import datetime
- parsedate = dateutil.parser.parse
-
fh = cbook.to_filehandle(fname)
@@ -2938,7 +2930,6 @@ def stineman_interp(xi,x,y,yp=None):
x=np.asarray(x, np.float_)
y=np.asarray(y, np.float_)
assert x.shape == y.shape
- N=len(y)
if yp is None:
yp = slopes(x,y)
Something went wrong with that request. Please try again.