On 11/14/2013 08:24 PM, Jason Grout wrote:
> On 10/16/13 3:46 PM, Jason Grout wrote:
>> On 10/16/13 1:58 PM, Michael Droettboom wrote:
>>> Sorry to take so long to get to this. This is a nice piece of work.
>>>
>>> The most obvious thing is that this is a copy-and-paste of the existing
>>> WebAgg backend -- and maintaining the two is going to be much harder
>>> than building both out of the same pieces.  As of 6389d14f, the WebAgg
>>> backend was refactored so that the transport that it uses to communicate
>>> to the browser is no longer hard coded.  This was done in large part to
>>> support working with IPyhton in this way.  (That is, it used to only
>>> communicate with the browser through Tornado, but now it can be anything
>>> that can send bits back and forth).  There's an example of this in
>>> `examples/user_interfaces/embedding_webagg.py` that shows how to do this
>>> (using Tornado, but again, it doesn't have to be). There's no guarantees
>>> that this interface is sufficient, so it may require some back and forth
>>> on this to make it all work.
>>>
>>> I think the first thing I would do would be to refactor this to use
>>> that.  It's a little hard to tell what you've changed from the original
>>> WebAgg backend to get it to support IPython.  If it were built on top
>>> of, rather than in addition to, WebAgg, that would be more obvious.
>> Thanks for the feedback.  I was thinking that a refactor to pull out the
>> communication layer would be really nice.
>>
>> I didn't change the WebAgg backend because I figured you wanted it
>> around still.  I figured a plain old diff with the file would reveal
>> changes.
>>
>> Anyways, thanks for the pointer to the refactor commit.  I hope to look
>> at this again sometime soon.
>>
> Following a very helpful conversation with Michael this morning in the
> dev hangout, I got this working with the current master (of matplotlib
> and ipython).  The refactoring made the code much better; thanks!
>
> I updated the pull request at
> https://github.com/matplotlib/matplotlib/pull/2524
>
> To test this, run IPython (master branch, to get the comm commits), and
> put this in a cell:
> https://github.com/matplotlib/matplotlib/pull/2524#issuecomment-28539813
>
> Then you can execute something like:
>
> from matplotlib.figure import Figure
> import numpy as np
> fig = Figure()
> a = fig.add_subplot(111)
> t = np.arange(0.0, 3.0, 0.01)
> s = np.sin(2 * np.pi * t)
> a.plot(t, s)
> CommFigure(fig)
>
> and get a live figure in the IPython notebook that uses the comm
> messaging infrastructure.
>
> Michael---do you have time to take it from here?
>
>

This is great.  I can see what next steps are needed, but probably not 
for a few days...

Mike

-- 
                    _
|\/|o _|_  _. _ | | \.__  __|__|_|_  _  _ ._ _
|  ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |

http://www.droettboom.com


------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to