[yt-users] Callbacks, plot.data.center

Nathan Goldbaum nathan12343 at gmail.com
Wed Jul 2 10:18:09 PDT 2014


On Wed, Jul 2, 2014 at 8:37 AM, David Collins <dcollins4096 at gmail.com>
wrote:

> Hi, everyone--
>
>
> I"m trying to run a callback on a projected sphere, and I'm running into a
> missing piece of data.
>
> I'm doing the following:
>
> >>> sph = pf.h.sphere( c, w)
> >>> proj = pf.h.proj(1,'Density',source = sph)
> >>> pw=proj.to_pw( center= c, width=2)
>

If you instead do:

proj = pf.h.proj(1,'Density', source=sph, center=c)

I believe it will work.


>
> this works fine, and reproduces the plot I want.  I have this callback
> that accesses "plot.data.center", but that seems to be an empty object.
>  This callback is based on the ParticlesCallback, so it's accessing a sub
> region in the following manner below.  So the plot object doesn't seem to
> be getting the center information any more. Is there a way to access this
> information now?
>
> Thanks!
>
> d.
>
> A snap from the relevant callback, the line that chokes is the access to
> data.center, and pdb says that the structure is None.
>
>     def __call__(self, plot):
>         data = plot.data
>         # we construct a recantangular prism
>         x0, x1 = plot.xlim
>         y0, y1 = plot.ylim
>         xx0, xx1 = plot._axes.get_xlim()
>         yy0, yy1 = plot._axes.get_ylim()
>         reg = self._get_region((x0,x1), (y0,y1), plot.data.axis, data)
>
>     def _get_region(self, xlim, ylim, axis, data):
>         LE, RE = [None]*3, [None]*3
>         xax = x_dict[axis]
>         yax = y_dict[axis]
>         zax = axis
>         LE[xax], RE[xax] = xlim
>         LE[yax], RE[yax] = ylim
>         LE[zax] = data.center[zax] - self.width*0.5
>         RE[zax] = data.center[zax] + self.width*0.5
>         if self.region is not None \
>             and np.all(self.region.left_edge <= LE) \
>             and np.all(self.region.right_edge >= RE):
>             return self.region
>         self.region = data.pf.h.periodic_region(
>             data.center, LE, RE)
>         return self.region
>
> --
> -- Sent from a computer.
>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20140702/d3bcc171/attachment.htm>


More information about the yt-users mailing list