[yt-dev] Callbacks for the Plot Window
Andrew Myers
atmyers at berkeley.edu
Sun Jul 8 21:44:00 PDT 2012
Data point: as someone used to using <TAB> and "?" in ipython to
familiarize myself with new classes, I definitely found the current
"dictionary of functions" thing a bit inconvenient / confusing when I first
started to use yt. In addition to <TAB> not giving a list of available
callbacks in the current code, I find that I can't do:
In [5]: p.modify["grids"]?
Object `p.modify["grids"]` not found.
but instead have to do:
In [9]: func = p.modify["grids"]
In [10]: func?
Type: function
Base Class: <type 'function'>
String Form: <function GridBoundaryCallback at 0x43c65f0>
Namespace: Interactive
File:
/u/atmyers/yt-x86_64/lib/python2.7/site-packages/yt-2.4dev-py2.7-linux-x86_64.egg/yt/visualization/plot_types.py
Definition: func(*args, **kwargs)
Docstring:
<no docstring>
Constructor Docstring:
Adds grid boundaries to a plot, optionally with *alpha*-blending.
Cuttoff for display is at *min_pix* wide.
*annotate* puts the grid id in the corner of the grid. (Not so great
in projections...)
Call def: func(self, plot)
if I need to look up the argument list for one of the callbacks. Just my
$0.02.
-Andrew Myers
On Sun, Jul 8, 2012 at 8:10 PM, Nathan Goldbaum <goldbaum at ucolick.org>wrote:
> Hi all,
>
> Matt and I have been thinking about how to port the already existing
> callbacks to the new Plot Window plotting interface. We've come down to
> two choices that we'd like to the put to the list to vote on.
>
> The first choice is to leave the interface exactly the same and use
> dict-like access through a .modify member that hangs off the PlotWindow
> object. So, for example, if you wanted to add grids to a plot, it would
> look something like this:
>
> >> slc = SlicePlot(pf, 0, 'Density')
> >> slc.modify['grids']()
>
> Alternatively, the callbacks could hang off of the plot window object as
> attributes:
>
> >> slc = SlicePlot(pf, 0, 'Density')
> >> slc.annotate_grids()
>
> Personally, I prefer the second choice since it leaves the list of
> annotations available at runtime. In ipython, for example, I could say
> slc.annotate<tab> and then get a list of all of the available plot
> modifications for this object.
>
> Both choices are about equally complicated syntactically since the
> attributes can be dynamically generated based on a list of available
> callbacks in plot_modifications.py.
>
> If you have an opinion, please reply with a vote for your preferred option.
>
> Cheers,
>
> Nathan Goldbaum
> _______________________________________________
> yt-dev mailing list
> yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-dev-spacepope.org/attachments/20120708/7fb08ea6/attachment.htm>
More information about the yt-dev
mailing list