error in setting width of slices
Hi,
Sometimes when I try and set the width of an image, yt throws an error
and stops:
/home/tasker/yt-test/scripts/iyt in <module>()
609 if (ncloudcells_final > 0):
610 p.modify["contour"]("Clouds", ncont=1, factor=1)
--> 611 p.set_width(400, 'pc')
612 pc.save("%s_lowresgridpot_core%d" % (fn, c))
613
/home/tasker/yt-test/yt/visualization/plot_types.pyc in
set_width(self, width, unit)
438 unit = self.data.pf[str(unit)]
439 self.width = width / unit
--> 440 self._refresh_display_width()
441
442 def _refresh_display_width(self, width=None):
/home/tasker/yt-test/yt/visualization/plot_types.pyc in
_refresh_display_width(self, width)
456 self.set_xlim(max(l_edge_x,self.xmin), min(r_edge_x,self.xmax))
457 self.set_ylim(max(l_edge_y,self.ymin), min(r_edge_y,self.ymax))
--> 458 self._redraw_image()
459
460 def autoscale(self):
/home/tasker/yt-test/yt/visualization/plot_types.pyc in
_redraw_image(self, *args)
403 self.norm.autoscale(na.array((newmin,newmax),
dtype='float64'))
404 self._reset_image_parameters()
--> 405 self._run_callbacks()
406
407 def _reset_image_parameters(self):
/home/tasker/yt-test/yt/visualization/plot_types.pyc in _run_callbacks(self)
256 self._axes.texts = []
257 for cb in self._callbacks:
--> 258 cb(self)
259
260 def set_label(self, label):
/home/tasker/yt-test/yt/visualization/plot_modifications.pyc in
__call__(self, plot)
238 print z.min(), z.max(), na.nanmin(z), na.nanmax(z)
239 print zi.min(), zi.max(), na.nanmin(zi), na.nanmax(zi)
--> 240 plot._axes.contour(xi,yi,zi,self.ncont, **self.plot_args)
241 plot._axes.set_xlim(xx0,xx1)
242 plot._axes.set_ylim(yy0,yy1)
/home/tasker/yt/lib/python2.7/site-packages/matplotlib/axes.pyc in
contour(self, *args, **kwargs)
7314 if not self._hold: self.cla()
7315 kwargs['filled'] = False
-> 7316 return mcontour.QuadContourSet(self, *args, **kwargs)
7317 contour.__doc__ = mcontour.QuadContourSet.contour_doc
7318
/home/tasker/yt/lib/python2.7/site-packages/matplotlib/contour.pyc in
__init__(self, ax, *args, **kwargs)
1104 are described in QuadContourSet.contour_doc.
1105 """
-> 1106 ContourSet.__init__(self, ax, *args, **kwargs)
1107
1108 def _process_args(self, *args, **kwargs):
/home/tasker/yt/lib/python2.7/site-packages/matplotlib/contour.pyc in
__init__(self, ax, *args, **kwargs)
699
700 self._process_args(*args, **kwargs)
--> 701 self._process_levels()
702
703 if self.colors is not None:
/home/tasker/yt/lib/python2.7/site-packages/matplotlib/contour.pyc in
_process_levels(self)
910 self._levels.append(max(self.levels[-1],self.zmax) + 1)
911 self._levels = np.asarray(self._levels)
--> 912 self.vmin = np.amin(self.levels) # alternative would
be self.layers
913 self.vmax = np.amax(self.levels)
914 if self.extend in ('both', 'min'):
/home/tasker/yt/lib/python2.7/site-packages/numpy/core/fromnumeric.pyc
in amin(a, axis, out)
1893 except AttributeError:
1894 return _wrapit(a, 'min', axis, out)
-> 1895 return amin(axis, out)
1896
1897
ValueError: zero-size array to minimum.reduce without identity
WARNING: Failure executing file:
Hi Elizabeth,
This isn't really a yt error. yt will also accept a set of extrema,
which should prevent this error from coming up.
-Matt
On Thu, Dec 15, 2011 at 1:54 AM, Elizabeth Tasker
Hi,
Sometimes when I try and set the width of an image, yt throws an error and stops:
/home/tasker/yt-test/scripts/iyt in <module>() 609 if (ncloudcells_final > 0): 610 p.modify["contour"]("Clouds", ncont=1, factor=1) --> 611 p.set_width(400, 'pc') 612 pc.save("%s_lowresgridpot_core%d" % (fn, c)) 613
/home/tasker/yt-test/yt/visualization/plot_types.pyc in set_width(self, width, unit) 438 unit = self.data.pf[str(unit)] 439 self.width = width / unit --> 440 self._refresh_display_width() 441 442 def _refresh_display_width(self, width=None):
/home/tasker/yt-test/yt/visualization/plot_types.pyc in _refresh_display_width(self, width) 456 self.set_xlim(max(l_edge_x,self.xmin), min(r_edge_x,self.xmax)) 457 self.set_ylim(max(l_edge_y,self.ymin), min(r_edge_y,self.ymax)) --> 458 self._redraw_image() 459 460 def autoscale(self):
/home/tasker/yt-test/yt/visualization/plot_types.pyc in _redraw_image(self, *args) 403 self.norm.autoscale(na.array((newmin,newmax), dtype='float64')) 404 self._reset_image_parameters() --> 405 self._run_callbacks() 406 407 def _reset_image_parameters(self):
/home/tasker/yt-test/yt/visualization/plot_types.pyc in _run_callbacks(self) 256 self._axes.texts = [] 257 for cb in self._callbacks: --> 258 cb(self) 259 260 def set_label(self, label):
/home/tasker/yt-test/yt/visualization/plot_modifications.pyc in __call__(self, plot) 238 print z.min(), z.max(), na.nanmin(z), na.nanmax(z) 239 print zi.min(), zi.max(), na.nanmin(zi), na.nanmax(zi) --> 240 plot._axes.contour(xi,yi,zi,self.ncont, **self.plot_args) 241 plot._axes.set_xlim(xx0,xx1) 242 plot._axes.set_ylim(yy0,yy1)
/home/tasker/yt/lib/python2.7/site-packages/matplotlib/axes.pyc in contour(self, *args, **kwargs) 7314 if not self._hold: self.cla() 7315 kwargs['filled'] = False -> 7316 return mcontour.QuadContourSet(self, *args, **kwargs) 7317 contour.__doc__ = mcontour.QuadContourSet.contour_doc 7318
/home/tasker/yt/lib/python2.7/site-packages/matplotlib/contour.pyc in __init__(self, ax, *args, **kwargs) 1104 are described in QuadContourSet.contour_doc. 1105 """ -> 1106 ContourSet.__init__(self, ax, *args, **kwargs) 1107 1108 def _process_args(self, *args, **kwargs):
/home/tasker/yt/lib/python2.7/site-packages/matplotlib/contour.pyc in __init__(self, ax, *args, **kwargs) 699 700 self._process_args(*args, **kwargs) --> 701 self._process_levels() 702 703 if self.colors is not None:
/home/tasker/yt/lib/python2.7/site-packages/matplotlib/contour.pyc in _process_levels(self) 910 self._levels.append(max(self.levels[-1],self.zmax) + 1) 911 self._levels = np.asarray(self._levels) --> 912 self.vmin = np.amin(self.levels) # alternative would be self.layers 913 self.vmax = np.amax(self.levels) 914 if self.extend in ('both', 'min'):
/home/tasker/yt/lib/python2.7/site-packages/numpy/core/fromnumeric.pyc in amin(a, axis, out) 1893 except AttributeError: 1894 return _wrapit(a, 'min', axis, out) -> 1895 return amin(axis, out) 1896 1897
ValueError: zero-size array to minimum.reduce without identity WARNING: Failure executing file:
I think this happens when the contour modification is zero : p.modify["contour"]("Clouds", ncont=1, factor=1)
Is there a way of telling it just not to plot the contour if there are no cells in the current slice that have a value and thereby avoid the crash?
Elizabeth _______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
participants (2)
-
Elizabeth Tasker
-
Matthew Turk