savefig for entire canvas?

I am this close to completing an “interactive session recorder” example for my book using the animation framework (yeah, you read that right…). However, since it is based on the usual savefig() action, you don’t see the buttons or the coordinate display in the corner. Is there a way to save frames of the entire canvas? It doesn’t have to use savefig().

Cheers!

Ben Root

I would guess that that would be very backend dependent and would
involve walking up the widget tree to find the QMainWindow (in qt
speak) and grabbing it's RGBA buffer.

Tom

···

On Sat, Oct 18, 2014 at 3:36 PM, Benjamin Root <ben.root@...553...> wrote:

I am *this* close to completing an "interactive session recorder" example
for my book using the animation framework (yeah, you read that right...).
However, since it is based on the usual savefig() action, you don't see the
buttons or the coordinate display in the corner. Is there a way to save
frames of the entire canvas? It doesn't have to use savefig().

Cheers!
Ben Root

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

--
Thomas Caswell
tcaswell@...149...

Ugh, yeah, that wouldn’t be desirable. Hopefully someone else can thnk of something more clever. Perhaps the webagg backend might provide a clue? If not, I can live without it for the purposes of my book.

As for my next hurdle. There is the well-known limitation with animation saving that the figure must be of the same size for the duration of the entire movie (the tight_layout bug). To make my session recorder fairly robust, it would be good to disable resizing the figure during the interactive session. I tried turning the canvas’s resize_event() into a no-op, but that didn’t work (I suspect figure resizing happens earlier with the event merely emitted as an afterthought).

Thoughts?
Ben Root

···

On Sat, Oct 18, 2014 at 3:42 PM, Thomas Caswell <tcaswell@…552…149…> wrote:

I would guess that that would be very backend dependent and would

involve walking up the widget tree to find the QMainWindow (in qt

speak) and grabbing it’s RGBA buffer.

Tom

On Sat, Oct 18, 2014 at 3:36 PM, Benjamin Root <ben.root@…553…> wrote:

I am this close to completing an “interactive session recorder” example

for my book using the animation framework (yeah, you read that right…).

However, since it is based on the usual savefig() action, you don’t see the

buttons or the coordinate display in the corner. Is there a way to save

frames of the entire canvas? It doesn’t have to use savefig().

Cheers!

Ben Root


Comprehensive Server Monitoring with Site24x7.

Monitor 10 servers for $9/Month.

Get alerted through email, SMS, voice calls or mobile push notifications.

Take corrective actions from your mobile device.

http://p.sf.net/sfu/Zoho


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Thomas Caswell

tcaswell@…149…