本文整理汇总了Python中matplotlib.cbook.safe_masked_invalid函数的典型用法代码示例。如果您正苦于以下问题:Python safe_masked_invalid函数的具体用法?Python safe_masked_invalid怎么用?Python safe_masked_invalid使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了safe_masked_invalid函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: set_data
def set_data(self, x, y, A):
A = cbook.safe_masked_invalid(A)
if x is None:
x = np.arange(0, A.shape[1]+1, dtype=np.float64)
else:
x = np.asarray(x, np.float64).ravel()
if y is None:
y = np.arange(0, A.shape[0]+1, dtype=np.float64)
else:
y = np.asarray(y, np.float64).ravel()
if A.shape[:2] != (y.size-1, x.size-1):
print A.shape
print y.size
print x.size
raise ValueError("Axes don't match array shape")
if A.ndim not in [2, 3]:
raise ValueError("A must be 2D or 3D")
if A.ndim == 3 and A.shape[2] == 1:
A.shape = A.shape[:2]
self.is_grayscale = False
if A.ndim == 3:
if A.shape[2] in [3, 4]:
if (A[:,:,0] == A[:,:,1]).all() and (A[:,:,0] == A[:,:,2]).all():
self.is_grayscale = True
else:
raise ValueError("3D arrays must have RGB or RGBA as last dim")
self._A = A
self._Ax = x
self._Ay = y
self._rgbacache = None
开发者ID:CTPUG,项目名称:matplotlib,代码行数:31,代码来源:image.py
示例2: set_data
def set_data(self, x, y, A):
"""
Set the grid for the pixel centers, and the pixel values.
*x* and *y* are 1-D ndarrays of lengths N and M, respectively,
specifying pixel centers
*A* is an (M,N) ndarray or masked array of values to be
colormapped, or a (M,N,3) RGB array, or a (M,N,4) RGBA
array.
"""
x = np.asarray(x, np.float32)
y = np.asarray(y, np.float32)
A = cbook.safe_masked_invalid(A)
if len(x.shape) != 1 or len(y.shape) != 1\
or A.shape[0:2] != (y.shape[0], x.shape[0]):
raise TypeError("Axes don't match array shape")
if len(A.shape) not in [2, 3]:
raise TypeError("Can only plot 2D or 3D data")
if len(A.shape) == 3 and A.shape[2] not in [1, 3, 4]:
raise TypeError("3D arrays must have three (RGB) "
"or four (RGBA) color components")
if len(A.shape) == 3 and A.shape[2] == 1:
A.shape = A.shape[0:2]
self._A = A
self._Ax = x
self._Ay = y
self._imcache = None
# I am adding this in accor with _AxesImageBase.set_data --
# examples/pylab_examples/image_nonuniform.py was breaking on
# the call to _get_unsampled_image when the oldxslice attr was
# accessed - JDH 3/3/2010
self._oldxslice = None
self._oldyslice = None
开发者ID:SungSingSong,项目名称:matplotlib,代码行数:35,代码来源:image.py
示例3: set_data
def set_data(self, x, y, A):
"""
Set the grid for the pixel centers, and the pixel values.
*x* and *y* are 1-D ndarrays of lengths N and M, respectively,
specifying pixel centers
*A* is an (M,N) ndarray or masked array of values to be
colormapped, or a (M,N,3) RGB array, or a (M,N,4) RGBA
array.
"""
x = np.asarray(x, np.float32)
y = np.asarray(y, np.float32)
A = cbook.safe_masked_invalid(A)
if len(x.shape) != 1 or len(y.shape) != 1\
or A.shape[0:2] != (y.shape[0], x.shape[0]):
raise TypeError("Axes don't match array shape")
if A.ndim not in [2, 3]:
raise TypeError("Can only plot 2D or 3D data")
if A.ndim == 3 and A.shape[2] not in [1, 3, 4]:
raise TypeError("3D arrays must have three (RGB) "
"or four (RGBA) color components")
if A.ndim == 3 and A.shape[2] == 1:
A.shape = A.shape[0:2]
self._A = A
self._Ax = x
self._Ay = y
self._imcache = None
self.stale = True
开发者ID:Perados,项目名称:matplotlib,代码行数:30,代码来源:image.py
示例4: set_data
def set_data(self, A):
"""
Set the image array
ACCEPTS: numpy/PIL Image A
"""
# check if data is PIL Image without importing Image
if hasattr(A, 'getpixel'):
self._A = pil_to_array(A)
else:
self._A = cbook.safe_masked_invalid(A)
if (self._A.dtype != np.uint8 and
not np.can_cast(self._A.dtype, np.float)):
raise TypeError("Image data can not convert to float")
if (self._A.ndim not in (2, 3) or
(self._A.ndim == 3 and self._A.shape[-1] not in (3, 4))):
raise TypeError("Invalid dimensions for image data")
self._imcache = None
self._rgbacache = None
self._oldxslice = None
self._oldyslice = None
self.stale = True
开发者ID:giltis,项目名称:matplotlib,代码行数:25,代码来源:image.py
示例5: _scale_to_res
def _scale_to_res(self):
""" Change self._A and _extent to render an image whose
resolution is matched to the eventual rendering."""
ax = self.axes
shp = self._full_res.shape
transform = self._get_transform()
x0, x1, sx, y0, y1, sy = extract_matched_slices(ax, shp, transform)
# have we already calculated what we need?
if (
self._bounds is not None
and sx >= self._sx
and sy >= self._sy
and x0 >= self._bounds[0]
and x1 <= self._bounds[1]
and y0 >= self._bounds[2]
and y1 <= self._bounds[3]
):
return
self._A = self._full_res[y0:y1:sy, x0:x1:sx]
self._A = cbook.safe_masked_invalid(self._A)
extentLim = extent_to_bbox(x0 - 0.5, x1 - 0.5, y0 - 0.5, y1 - 0.5, self.origin)
extentLim = transform.inverted().transform_bbox(extentLim)
extent = bbox_to_extent(extentLim, self.origin)
self.set_extent(extent)
self._sx = sx
self._sy = sy
self._bounds = (x0, x1, y0, y1)
self.changed()
开发者ID:pyhmsa,项目名称:pyhmsa-plot,代码行数:32,代码来源:modest_image.py
示例6: _scale_to_res
def _scale_to_res(self):
""" Change self._A and _extent to render an image whose
resolution is matched to the eventual rendering."""
ax = self.axes
shp = self._full_res.shape
x0, x1, sx, y0, y1, sy = extract_matched_slices(ax, shp)
# have we already calculated what we need?
if (
sx >= self._sx
and sy >= self._sy
and x0 >= self._bounds[0]
and x1 <= self._bounds[1]
and y0 >= self._bounds[2]
and y1 <= self._bounds[3]
):
return
self._A = self._full_res[y0:y1:sy, x0:x1:sx]
self._A = cbook.safe_masked_invalid(self._A)
if self.origin == "upper":
self.set_extent([x0 - 0.5, x1 - 0.5, y1 - 0.5, y0 - 0.5])
else:
self.set_extent([x0 - 0.5, x1 - 0.5, y0 - 0.5, y1 - 0.5])
self._sx = sx
self._sy = sy
self._bounds = (x0, x1, y0, y1)
self.changed()
开发者ID:sergiopasra,项目名称:glue,代码行数:27,代码来源:modest_image.py
示例7: _scale_to_res
def _scale_to_res(self):
""" Change self._A and _extent to render an image whose
resolution is matched to the eventual rendering."""
# extent has to be set BEFORE set_data
if self._origExtent is None:
if self.origin == "upper":
self._origExtent = (0, self._full_res.shape[1],
self._full_res.shape[0], 0)
else:
self._origExtent = (0, self._full_res.shape[1],
0, self._full_res.shape[0])
if self.origin == "upper":
origXMin, origXMax, origYMax, origYMin = self._origExtent[0:4]
else:
origXMin, origXMax, origYMin, origYMax = self._origExtent[0:4]
ax = self.axes
ext = ax.transAxes.transform([1, 1]) - ax.transAxes.transform([0, 0])
xlim, ylim = ax.get_xlim(), ax.get_ylim()
xlim = max(xlim[0], origXMin), min(xlim[1], origXMax)
if ylim[0] > ylim[1]:
ylim = max(ylim[1], origYMin), min(ylim[0], origYMax)
else:
ylim = max(ylim[0], origYMin), min(ylim[1], origYMax)
# print("THOSE LIMITS ARE TO BE COMPARED WITH THE EXTENT")
# print("IN ORDER TO KNOW WHAT IT IS LIMITING THE DISPLAY")
# print("IF THE AXES OR THE EXTENT")
dx, dy = xlim[1] - xlim[0], ylim[1] - ylim[0]
y0 = max(0, ylim[0] - 5)
y1 = min(self._full_res.shape[0], ylim[1] + 5)
x0 = max(0, xlim[0] - 5)
x1 = min(self._full_res.shape[1], xlim[1] + 5)
y0, y1, x0, x1 = [int(a) for a in [y0, y1, x0, x1]]
sy = int(max(1, min((y1 - y0) / 5., numpy.ceil(dy / ext[1]))))
sx = int(max(1, min((x1 - x0) / 5., numpy.ceil(dx / ext[0]))))
# have we already calculated what we need?
if (self._sx is not None) and (self._sy is not None):
if (sx >= self._sx and sy >= self._sy and
x0 >= self._bounds[0] and x1 <= self._bounds[1] and
y0 >= self._bounds[2] and y1 <= self._bounds[3]):
return
self._A = self._full_res[y0:y1:sy, x0:x1:sx]
self._A = cbook.safe_masked_invalid(self._A)
x1 = x0 + self._A.shape[1] * sx
y1 = y0 + self._A.shape[0] * sy
if self.origin == "upper":
self.set_extent([x0, x1, y1, y0])
else:
self.set_extent([x0, x1, y0, y1])
self._sx = sx
self._sy = sy
self._bounds = (x0, x1, y0, y1)
self.changed()
开发者ID:vallsv,项目名称:silx,代码行数:58,代码来源:ModestImage.py
示例8: _scale_to_res
def _scale_to_res(self):
"""
Change self._A and _extent to render an image whose resolution is
matched to the eventual rendering.
"""
# Find out how we need to slice the array to make sure we match the
# resolution of the display. We pass self._world2pixel which matters
# for cases where the extent has been set.
x0, x1, sx, y0, y1, sy = extract_matched_slices(axes=self.axes,
shape=self._full_res.shape,
transform=self._world2pixel)
# Check whether we've already calculated what we need, and if so just
# return without doing anything further.
if (self._bounds is not None and
sx >= self._sx and sy >= self._sy and
x0 >= self._bounds[0] and x1 <= self._bounds[1] and
y0 >= self._bounds[2] and y1 <= self._bounds[3]):
return
# Slice the array using the slices determined previously to optimally
# match the display
self._A = self._full_res[y0:y1:sy, x0:x1:sx]
self._A = cbook.safe_masked_invalid(self._A)
# We now determine the extent of the subset of the image, by determining
# it first in pixel space, and converting it to the 'world' coordinates.
# See https://github.com/matplotlib/matplotlib/issues/8693 for a
# demonstration of why origin='upper' and extent=None needs to be
# special-cased.
if self.origin == 'upper' and self._full_extent is None:
xmin, xmax, ymin, ymax = x0 - .5, x1 - .5, y1 - .5, y0 - .5
else:
xmin, xmax, ymin, ymax = x0 - .5, x1 - .5, y0 - .5, y1 - .5
xmin, ymin, xmax, ymax = self._pixel2world.transform([(xmin, ymin), (xmax, ymax)]).ravel()
mi.AxesImage.set_extent(self, [xmin, xmax, ymin, ymax])
# self.set_extent([xmin, xmax, ymin, ymax])
# Finally, we cache the current settings to avoid re-computing similar
# arrays in future.
self._sx = sx
self._sy = sy
self._bounds = (x0, x1, y0, y1)
self.changed()
开发者ID:mantidproject,项目名称:mantid,代码行数:50,代码来源:modest_image.py
示例9: set_data
def set_data(self, x, y, A):
"""
Set the grid for the pixel centers, and the pixel values.
*x* and *y* are 1-D ndarrays of lengths N and M, respectively,
specifying pixel centers
*A* is an (M,N) ndarray or masked array of values to be
colormapped, or a (M,N,3) RGB array, or a (M,N,4) RGBA
array.
"""
x = np.asarray(x,np.float32)
y = np.asarray(y,np.float32)
A = cbook.safe_masked_invalid(A)
if len(x.shape) != 1 or len(y.shape) != 1\
or A.shape[0:2] != (y.shape[0], x.shape[0]):
raise TypeError("Axes don't match array shape")
if len(A.shape) not in [2, 3]:
raise TypeError("Can only plot 2D or 3D data")
if len(A.shape) == 3 and A.shape[2] not in [1, 3, 4]:
raise TypeError("3D arrays must have three (RGB) or four (RGBA) color components")
if len(A.shape) == 3 and A.shape[2] == 1:
A.shape = A.shape[0:2]
if len(A.shape) == 2:
if A.dtype != np.uint8:
A = (self.cmap(self.norm(A))*255).astype(np.uint8)
self.is_grayscale = self.cmap.is_gray()
else:
A = np.repeat(A[:,:,np.newaxis], 4, 2)
A[:,:,3] = 255
self.is_grayscale = True
else:
if A.dtype != np.uint8:
A = (255*A).astype(np.uint8)
if A.shape[2] == 3:
B = zeros(tuple(list(A.shape[0:2]) + [4]), np.uint8)
B[:,:,0:3] = A
B[:,:,3] = 255
A = B
self.is_grayscale = False
self._A = A
self._Ax = x
self._Ay = y
self._imcache = None
开发者ID:zoccolan,项目名称:eyetracker,代码行数:44,代码来源:image.py
注:本文中的matplotlib.cbook.safe_masked_invalid函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论