SourceForge logo
SourceForge logo
Menu

matplotlib-devel

From: Jason G. <jas...@cr...> - 2013年10月10日 22:08:45
I've been working on a backend based on the webagg backend, but that 
uses the IPython Comm architecture at 
https://github.com/ipython/ipython/pull/4195 to send messages instead of 
starting a server and opening websocket connections. I have an initial 
version in my github ipython-comm branch (see 
https://github.com/jasongrout/matplotlib/compare/ipython-comm). I'm 
getting confused about how the backend infrastructure works, though, 
like what the purpose for the FigureManager class is, etc. I'm running 
out of time to work on this now, and I'm hoping that someone will take 
what work I've done here and get it working properly with the matplotlib 
architecture. If not, I'll probably tinker with this more later.
Thanks,
Jason
--
Jason Grout
From: Michael D. <md...@st...> - 2013年10月16日 19:00:19
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.
Mike
On 10/10/2013 06:08 PM, Jason Grout wrote:
> I've been working on a backend based on the webagg backend, but that
> uses the IPython Comm architecture at
> https://github.com/ipython/ipython/pull/4195 to send messages instead of
> starting a server and opening websocket connections. I have an initial
> version in my github ipython-comm branch (see
> https://github.com/jasongrout/matplotlib/compare/ipython-comm). I'm
> getting confused about how the backend infrastructure works, though,
> like what the purpose for the FigureManager class is, etc. I'm running
> out of time to work on this now, and I'm hoping that someone will take
> what work I've done here and get it working properly with the matplotlib
> architecture. If not, I'll probably tinker with this more later.
>
> Thanks,
>
> Jason
>
> --
> Jason Grout
>
> ------------------------------------------------------------------------------
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
-- 
 _
|\/|o _|_ _. _ | | \.__ __|__|_|_ _ _ ._ _
| ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |
http://www.droettboom.com
From: Jason G. <jas...@cr...> - 2013年10月16日 20:47:09
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.
Jason
From: Jason G. <jas...@cr...> - 2013年11月15日 13:18:47
On 11/14/13 7:24 PM, Jason Grout wrote:
> 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).
I also got this initial experimental demo working on the Sage cell server:
http://sagecell.sagemath.org/?q=ilpajg (for a sage plotting example)
http://sagecell.sagemath.org/?q=spadja (for one of the examples from the
matplotlib docs)
Thanks,
Jason
From: Phil E. <pel...@gm...> - 2013年11月15日 15:03:55
Very nice.
Thanks for sharing Jason.
On 15 November 2013 13:18, Jason Grout <jas...@cr...> wrote:
> On 11/14/13 7:24 PM, Jason Grout wrote:
> > 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).
>
> I also got this initial experimental demo working on the Sage cell server:
>
> http://sagecell.sagemath.org/?q=ilpajg (for a sage plotting example)
>
> http://sagecell.sagemath.org/?q=spadja (for one of the examples from the
> matplotlib docs)
>
> Thanks,
>
> Jason
>
>
>
> ------------------------------------------------------------------------------
> DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
> OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
> Free app hosting. Or install the open source package on any LAMP server.
> Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
> http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>
From: Jason G. <jas...@cr...> - 2013年11月15日 01:24:40
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?
Thanks,
Jason
From: Michael D. <md...@st...> - 2013年11月18日 17:40:19
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
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /