Python matplotlib.mlab.griddata() Examples
The following are 14
code examples of matplotlib.mlab.griddata().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
matplotlib.mlab
, or try the search function
.
Example #1
Source File: Micaps3Data.py From PyMICAPS with GNU General Public License v2.0 | 5 votes |
def UpdateData(self, products, micapsfile): self.UpdateExtents(products) extents = products.picture.extents xmax = extents.xmax xmin = extents.xmin ymax = extents.ymax ymin = extents.ymin path = products.map.clipborders[0].path if path is not None: self.AddPoints(self.x, self.y, self.z, path) # self.CreateArray() self.X = np.linspace(xmin, xmax, micapsfile.contour.grid[0]) self.Y = np.linspace(ymin, ymax, micapsfile.contour.grid[1]) # x = self.data['lon'] # y = self.data['lat'] # z = self.data['zvalue'] self.Z = griddata(self.x, self.y, self.z, self.X, self.Y, 'nn') self.X, self.Y = np.meshgrid(self.X, self.Y) self.min = min(self.z) self.max = max(self.z) self.distance = micapsfile.contour.step self.min = math.floor(self.min / self.distance) * self.distance self.max = math.ceil(self.max / self.distance) * self.distance # 如果自定义了legend的最小、最大和步长值 则用自定义的值更新 self.UpdatePinLegendValue(micapsfile)
Example #2
Source File: test_mlab.py From neural-network-animation with MIT License | 5 votes |
def test_griddata_linear(): # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y # Passing 1D xi and yi arrays to griddata. x = np.asarray([0.0, 1.0, 0.0, 1.0, 0.5]) y = np.asarray([0.0, 0.0, 1.0, 1.0, 0.5]) z = get_z(x, y) xi = [0.2, 0.4, 0.6, 0.8] yi = [0.1, 0.3, 0.7, 0.9] zi = mlab.griddata(x, y, z, xi, yi, interp='linear') xi, yi = np.meshgrid(xi, yi) np.testing.assert_array_almost_equal(zi, get_z(xi, yi)) # Passing 2D xi and yi arrays to griddata. zi = mlab.griddata(x, y, z, xi, yi, interp='linear') np.testing.assert_array_almost_equal(zi, get_z(xi, yi)) # Masking z array. z_masked = np.ma.array(z, mask=[False, False, False, True, False]) correct_zi_masked = np.ma.masked_where(xi + yi > 1.0, get_z(xi, yi)) zi = mlab.griddata(x, y, z_masked, xi, yi, interp='linear') matest.assert_array_almost_equal(zi, correct_zi_masked) np.testing.assert_array_equal(np.ma.getmask(zi), np.ma.getmask(correct_zi_masked))
Example #3
Source File: test_mlab.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_griddata_linear(): # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y # Passing 1D xi and yi arrays to griddata. x = np.asarray([0.0, 1.0, 0.0, 1.0, 0.5]) y = np.asarray([0.0, 0.0, 1.0, 1.0, 0.5]) z = get_z(x, y) xi = [0.2, 0.4, 0.6, 0.8] yi = [0.1, 0.3, 0.7, 0.9] with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='linear') xi, yi = np.meshgrid(xi, yi) np.testing.assert_array_almost_equal(zi, get_z(xi, yi)) # Passing 2D xi and yi arrays to griddata. with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='linear') np.testing.assert_array_almost_equal(zi, get_z(xi, yi)) # Masking z array. z_masked = np.ma.array(z, mask=[False, False, False, True, False]) correct_zi_masked = np.ma.masked_where(xi + yi > 1.0, get_z(xi, yi)) with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z_masked, xi, yi, interp='linear') matest.assert_array_almost_equal(zi, correct_zi_masked) np.testing.assert_array_equal(np.ma.getmask(zi), np.ma.getmask(correct_zi_masked))
Example #4
Source File: interpolation.py From pcloudpy with BSD 3-Clause "New" or "Revised" License | 5 votes |
def nearest_griddata(x, y, z, xi, yi): """ Nearest Neighbor Interpolation Method. Nearest-neighbor interpolation (also known as proximal interpolation or, in some contexts, point sampling) is a simple method of multivariate interpolation in one or more dimensions.<br/> Interpolation is the problem of approximating the value of a function for a non-given point in some space when given the value of that function in points around (neighboring) that point.<br/> The nearest neighbor algorithm selects the value of the nearest point and does not consider the values of neighboring points at all, yielding a piecewise-constant interpolant. <br/> The algorithm is very simple to implement and is commonly used (usually along with mipmapping) in real-time 3D rendering to select color values for a textured surface.<br/> zi = nearest_griddata(x,y,z,xi,yi) fits a surface of the form z = f*(*x, y) to the data in the (usually) nonuniformly spaced vectors (x, y, z).<br/> griddata() interpolates this surface at the points specified by (xi, yi) to produce zi. xi and yi must describe a regular grid.<br/> Parameters ---------- x: array-like x-coord [1D array] y: array-like y-coord [1D array] z: array-like z-coord [1D array] xi: array-like meshgrid for x-coords [2D array] see <a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.meshgrid.html">numpy.meshgrid</a> yi: array-like meshgrid for y-coords [2D array] see <a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.meshgrid.html">numpy.meshgrid</a> Returns ------- Interpolated Zi Coord zi: array-like zi interpolated-value [2D array] for (xi,yi) """ zi = griddata(zip(x,y), z, (xi, yi), method='nearest') return zi
Example #5
Source File: test_mlab.py From ImageFusion with MIT License | 5 votes |
def test_griddata_linear(): # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y # Passing 1D xi and yi arrays to griddata. x = np.asarray([0.0, 1.0, 0.0, 1.0, 0.5]) y = np.asarray([0.0, 0.0, 1.0, 1.0, 0.5]) z = get_z(x, y) xi = [0.2, 0.4, 0.6, 0.8] yi = [0.1, 0.3, 0.7, 0.9] zi = mlab.griddata(x, y, z, xi, yi, interp='linear') xi, yi = np.meshgrid(xi, yi) np.testing.assert_array_almost_equal(zi, get_z(xi, yi)) # Passing 2D xi and yi arrays to griddata. zi = mlab.griddata(x, y, z, xi, yi, interp='linear') np.testing.assert_array_almost_equal(zi, get_z(xi, yi)) # Masking z array. z_masked = np.ma.array(z, mask=[False, False, False, True, False]) correct_zi_masked = np.ma.masked_where(xi + yi > 1.0, get_z(xi, yi)) zi = mlab.griddata(x, y, z_masked, xi, yi, interp='linear') matest.assert_array_almost_equal(zi, correct_zi_masked) np.testing.assert_array_equal(np.ma.getmask(zi), np.ma.getmask(correct_zi_masked))
Example #6
Source File: test_mlab.py From coffeegrindsize with MIT License | 5 votes |
def test_griddata_linear(): # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y # Passing 1D xi and yi arrays to griddata. x = np.asarray([0.0, 1.0, 0.0, 1.0, 0.5]) y = np.asarray([0.0, 0.0, 1.0, 1.0, 0.5]) z = get_z(x, y) xi = [0.2, 0.4, 0.6, 0.8] yi = [0.1, 0.3, 0.7, 0.9] with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='linear') xi, yi = np.meshgrid(xi, yi) np.testing.assert_array_almost_equal(zi, get_z(xi, yi)) # Passing 2D xi and yi arrays to griddata. with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='linear') np.testing.assert_array_almost_equal(zi, get_z(xi, yi)) # Masking z array. z_masked = np.ma.array(z, mask=[False, False, False, True, False]) correct_zi_masked = np.ma.masked_where(xi + yi > 1.0, get_z(xi, yi)) with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z_masked, xi, yi, interp='linear') matest.assert_array_almost_equal(zi, correct_zi_masked) np.testing.assert_array_equal(np.ma.getmask(zi), np.ma.getmask(correct_zi_masked))
Example #7
Source File: test_mlab.py From twitter-stock-recommendation with MIT License | 5 votes |
def test_griddata_linear(): # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y # Passing 1D xi and yi arrays to griddata. x = np.asarray([0.0, 1.0, 0.0, 1.0, 0.5]) y = np.asarray([0.0, 0.0, 1.0, 1.0, 0.5]) z = get_z(x, y) xi = [0.2, 0.4, 0.6, 0.8] yi = [0.1, 0.3, 0.7, 0.9] with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='linear') xi, yi = np.meshgrid(xi, yi) np.testing.assert_array_almost_equal(zi, get_z(xi, yi)) # Passing 2D xi and yi arrays to griddata. with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='linear') np.testing.assert_array_almost_equal(zi, get_z(xi, yi)) # Masking z array. z_masked = np.ma.array(z, mask=[False, False, False, True, False]) correct_zi_masked = np.ma.masked_where(xi + yi > 1.0, get_z(xi, yi)) with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z_masked, xi, yi, interp='linear') matest.assert_array_almost_equal(zi, correct_zi_masked) np.testing.assert_array_equal(np.ma.getmask(zi), np.ma.getmask(correct_zi_masked))
Example #8
Source File: test_mlab.py From neural-network-animation with MIT License | 4 votes |
def test_griddata_nn(): # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y # Passing 1D xi and yi arrays to griddata. x = np.asarray([0.0, 1.0, 0.0, 1.0, 0.5]) y = np.asarray([0.0, 0.0, 1.0, 1.0, 0.5]) z = get_z(x, y) xi = [0.2, 0.4, 0.6, 0.8] yi = [0.1, 0.3, 0.7, 0.9] correct_zi = [[0.49999252, 1.0999978, 1.7000030, 2.3000080], [0.29999208, 0.8999978, 1.5000029, 2.1000059], [-0.1000099, 0.4999943, 1.0999964, 1.6999979], [-0.3000128, 0.2999894, 0.8999913, 1.4999933]] zi = mlab.griddata(x, y, z, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi) # Decreasing xi or yi should raise ValueError. assert_raises(ValueError, mlab.griddata, x, y, z, xi[::-1], yi, interp='nn') assert_raises(ValueError, mlab.griddata, x, y, z, xi, yi[::-1], interp='nn') # Passing 2D xi and yi arrays to griddata. xi, yi = np.meshgrid(xi, yi) zi = mlab.griddata(x, y, z, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi) # Masking z array. z_masked = np.ma.array(z, mask=[False, False, False, True, False]) correct_zi_masked = np.ma.masked_where(xi + yi > 1.0, correct_zi) zi = mlab.griddata(x, y, z_masked, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi_masked, 5) np.testing.assert_array_equal(np.ma.getmask(zi), np.ma.getmask(correct_zi_masked)) #***************************************************************** # These Tests where taken from SCIPY with some minor modifications # this can be retreived from: # https://github.com/scipy/scipy/blob/master/scipy/stats/tests/test_kdeoth.py #*****************************************************************
Example #9
Source File: test_mlab.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 4 votes |
def test_griddata_nn(): pytest.importorskip('mpl_toolkits.natgrid') # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y # Passing 1D xi and yi arrays to griddata. x = np.asarray([0.0, 1.0, 0.0, 1.0, 0.5]) y = np.asarray([0.0, 0.0, 1.0, 1.0, 0.5]) z = get_z(x, y) xi = [0.2, 0.4, 0.6, 0.8] yi = [0.1, 0.3, 0.7, 0.9] correct_zi = [[0.49999252, 1.0999978, 1.7000030, 2.3000080], [0.29999208, 0.8999978, 1.5000029, 2.1000059], [-0.1000099, 0.4999943, 1.0999964, 1.6999979], [-0.3000128, 0.2999894, 0.8999913, 1.4999933]] with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi, 5) with pytest.warns(MatplotlibDeprecationWarning): # Decreasing xi or yi should raise ValueError. with pytest.raises(ValueError): mlab.griddata(x, y, z, xi[::-1], yi, interp='nn') with pytest.raises(ValueError): mlab.griddata(x, y, z, xi, yi[::-1], interp='nn') # Passing 2D xi and yi arrays to griddata. xi, yi = np.meshgrid(xi, yi) with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi, 5) # Masking z array. z_masked = np.ma.array(z, mask=[False, False, False, True, False]) correct_zi_masked = np.ma.masked_where(xi + yi > 1.0, correct_zi) with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z_masked, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi_masked, 5) np.testing.assert_array_equal(np.ma.getmask(zi), np.ma.getmask(correct_zi_masked)) #***************************************************************** # These Tests where taken from SCIPY with some minor modifications # this can be retrieved from: # https://github.com/scipy/scipy/blob/master/scipy/stats/tests/test_kdeoth.py #*****************************************************************
Example #10
Source File: interpolation.py From pcloudpy with BSD 3-Clause "New" or "Revised" License | 4 votes |
def natural_neighbor(x,y,z,xi,yi): """ Natural Neighbor Interpolation Method. Natural neighbor interpolation is a method of spatial interpolation, developed by Robin Sibson. The method is based on Voronoi tessellation of a discrete set of spatial points. This has advantages over simpler methods of interpolation, such as nearest-neighbor interpolation, in that it provides a more smooth approximation to the underlying "true" function. see <a href="http://en.wikipedia.org/wiki/Radial_basis_function">Radial_basic_function zi = natural_neighbor(x,y,z,xi,yi) fits a surface of the form z = f*(*x, y) to the data in the (usually) non uniformly spaced vectors (x, y, z).<br/> griddata() interpolates this surface at the points specified by (xi, yi) to produce zi. xi and yi must describe a regular grid. Parameters ---------- x: array-like, shape= 1D x-coord [1D array] y: array-like, shape= 1D y-coord [1D array] z: array-like, shape= 1D z-coord [1D array] xi: array-like, shape= 2D array meshgrid for x-coords [2D array] yi: array-like, shape= 2D array meshgrid for y-coords [2D array] Returns ------- zi: array-like, shape=2D zi interpolated-value [2D array] for (xi,yi) """ zi = mlab.griddata(x,y,z,xi,yi) return zi
Example #11
Source File: test_mlab.py From ImageFusion with MIT License | 4 votes |
def test_griddata_nn(): # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y # Passing 1D xi and yi arrays to griddata. x = np.asarray([0.0, 1.0, 0.0, 1.0, 0.5]) y = np.asarray([0.0, 0.0, 1.0, 1.0, 0.5]) z = get_z(x, y) xi = [0.2, 0.4, 0.6, 0.8] yi = [0.1, 0.3, 0.7, 0.9] correct_zi = [[0.49999252, 1.0999978, 1.7000030, 2.3000080], [0.29999208, 0.8999978, 1.5000029, 2.1000059], [-0.1000099, 0.4999943, 1.0999964, 1.6999979], [-0.3000128, 0.2999894, 0.8999913, 1.4999933]] zi = mlab.griddata(x, y, z, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi) # Decreasing xi or yi should raise ValueError. assert_raises(ValueError, mlab.griddata, x, y, z, xi[::-1], yi, interp='nn') assert_raises(ValueError, mlab.griddata, x, y, z, xi, yi[::-1], interp='nn') # Passing 2D xi and yi arrays to griddata. xi, yi = np.meshgrid(xi, yi) zi = mlab.griddata(x, y, z, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi) # Masking z array. z_masked = np.ma.array(z, mask=[False, False, False, True, False]) correct_zi_masked = np.ma.masked_where(xi + yi > 1.0, correct_zi) zi = mlab.griddata(x, y, z_masked, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi_masked, 5) np.testing.assert_array_equal(np.ma.getmask(zi), np.ma.getmask(correct_zi_masked)) #***************************************************************** # These Tests where taken from SCIPY with some minor modifications # this can be retreived from: # https://github.com/scipy/scipy/blob/master/scipy/stats/tests/test_kdeoth.py #*****************************************************************
Example #12
Source File: test_mlab.py From coffeegrindsize with MIT License | 4 votes |
def test_griddata_nn(): pytest.importorskip('mpl_toolkits.natgrid') # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y # Passing 1D xi and yi arrays to griddata. x = np.asarray([0.0, 1.0, 0.0, 1.0, 0.5]) y = np.asarray([0.0, 0.0, 1.0, 1.0, 0.5]) z = get_z(x, y) xi = [0.2, 0.4, 0.6, 0.8] yi = [0.1, 0.3, 0.7, 0.9] correct_zi = [[0.49999252, 1.0999978, 1.7000030, 2.3000080], [0.29999208, 0.8999978, 1.5000029, 2.1000059], [-0.1000099, 0.4999943, 1.0999964, 1.6999979], [-0.3000128, 0.2999894, 0.8999913, 1.4999933]] with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi, 5) with pytest.warns(MatplotlibDeprecationWarning): # Decreasing xi or yi should raise ValueError. with pytest.raises(ValueError): mlab.griddata(x, y, z, xi[::-1], yi, interp='nn') with pytest.raises(ValueError): mlab.griddata(x, y, z, xi, yi[::-1], interp='nn') # Passing 2D xi and yi arrays to griddata. xi, yi = np.meshgrid(xi, yi) with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi, 5) # Masking z array. z_masked = np.ma.array(z, mask=[False, False, False, True, False]) correct_zi_masked = np.ma.masked_where(xi + yi > 1.0, correct_zi) with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z_masked, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi_masked, 5) np.testing.assert_array_equal(np.ma.getmask(zi), np.ma.getmask(correct_zi_masked)) #***************************************************************** # These Tests where taken from SCIPY with some minor modifications # this can be retrieved from: # https://github.com/scipy/scipy/blob/master/scipy/stats/tests/test_kdeoth.py #*****************************************************************
Example #13
Source File: icnn.py From icnn with Apache License 2.0 | 4 votes |
def adam_plot(self, func, obs, hist): hist['act'] = np.array(hist['act']).T hist['f'] = np.array(hist['f']).T hist['g'] = np.array(hist['g']).T if self.dimA == 1: xs = np.linspace(-1.+1e-8, 1.-1e-8, 100) ys = [func(obs[[0],:], [[xi]])[0] for xi in xs] fig = plt.figure() plt.plot(xs, ys) plt.plot(hist['act'][0,0,:], hist['f'][0,:], label='Adam') plt.legend() fname = os.path.join(FLAGS.outdir, 'adamPlt.png') print("Saving Adam plot to {}".format(fname)) plt.savefig(fname) plt.close(fig) elif self.dimA == 2: assert(False) else: xs = npr.uniform(-1., 1., (5000, self.dimA)) ys = np.array([func(obs[[0],:], [xi])[0] for xi in xs]) epi = np.hstack((xs, ys)) pca = PCA(n_components=2).fit(epi) W = pca.components_[:,:-1] xs_proj = xs.dot(W.T) fig = plt.figure() X = Y = np.linspace(xs_proj.min(), xs_proj.max(), 100) Z = griddata(xs_proj[:,0], xs_proj[:,1], ys.ravel(), X, Y, interp='linear') plt.contourf(X, Y, Z, 15) plt.colorbar() adam_x = hist['act'][:,0,:].T adam_x = adam_x.dot(W.T) plt.plot(adam_x[:,0], adam_x[:,1], label='Adam', color='k') plt.legend() fname = os.path.join(FLAGS.outdir, 'adamPlt.png') print("Saving Adam plot to {}".format(fname)) plt.savefig(fname) plt.close(fig)
Example #14
Source File: test_mlab.py From twitter-stock-recommendation with MIT License | 4 votes |
def test_griddata_nn(): # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y # Passing 1D xi and yi arrays to griddata. x = np.asarray([0.0, 1.0, 0.0, 1.0, 0.5]) y = np.asarray([0.0, 0.0, 1.0, 1.0, 0.5]) z = get_z(x, y) xi = [0.2, 0.4, 0.6, 0.8] yi = [0.1, 0.3, 0.7, 0.9] correct_zi = [[0.49999252, 1.0999978, 1.7000030, 2.3000080], [0.29999208, 0.8999978, 1.5000029, 2.1000059], [-0.1000099, 0.4999943, 1.0999964, 1.6999979], [-0.3000128, 0.2999894, 0.8999913, 1.4999933]] with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi, 5) with pytest.warns(MatplotlibDeprecationWarning): # Decreasing xi or yi should raise ValueError. with pytest.raises(ValueError): mlab.griddata(x, y, z, xi[::-1], yi, interp='nn') with pytest.raises(ValueError): mlab.griddata(x, y, z, xi, yi[::-1], interp='nn') # Passing 2D xi and yi arrays to griddata. xi, yi = np.meshgrid(xi, yi) with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi, 5) # Masking z array. z_masked = np.ma.array(z, mask=[False, False, False, True, False]) correct_zi_masked = np.ma.masked_where(xi + yi > 1.0, correct_zi) with pytest.warns(MatplotlibDeprecationWarning): zi = mlab.griddata(x, y, z_masked, xi, yi, interp='nn') np.testing.assert_array_almost_equal(zi, correct_zi_masked, 5) np.testing.assert_array_equal(np.ma.getmask(zi), np.ma.getmask(correct_zi_masked)) #***************************************************************** # These Tests where taken from SCIPY with some minor modifications # this can be retrieved from: # https://github.com/scipy/scipy/blob/master/scipy/stats/tests/test_kdeoth.py #*****************************************************************