[IPython-dev] SVG figures status report

Zoltán Vörös zvoros at gmail.com
Tue Jun 26 13:32:07 EDT 2012

Hi Bob,

On 06/26/2012 12:54 PM, Bob McElrath wrote:
> 1. There's a lot of good code in mplh5canvas:
>          http://code.google.com/p/mplh5canvas/
>     I think it may be possible to extract their matplotlib backend and adapt it
>     to IPython.  This could be relatively quick to do, and behaves exactly like
>     the other matplotlib GUI's.
We have discussed this a couple of times before. The question is not 
whether mplh5canvas could be used. However, that canvas runs it own 
server, and while it could probably be adapted to ipython, it is not 
even clear whether running plots at a places other than the notebook is 
a good idea in the first place.
Besides, I think, Ludwig Schwardt pointed out that some things in the 
html5 backend don't work perfectly.
> 3. I'd say that computationally-oriented tasks, such as coordinate reporting,
>      changing to log axes, should be a top priority for interactive figures.
>      Secondary to that is massaging a figure into a final form, such as changing
>      ticks/labels etc, and importantly, *saving* it in a convenient form.
>      Switching to SVG or Canvas for figures will obscure one's ability to save
>      the figure and move it into your LaTeX document.  (can't just right
>      click->save as anymore).
I think this is the point where our views totally differ. All but 
coordinate reporting can be done in a script, and I believe, those 
should be done in a script, for, e.g., moving the ticks modifies a 
figure in a way that is substantial, and it compromises repeatability. I 
can change the axis to log by issuing logy on the console, however, I 
can't read off coordinates from the console.
As far as interactivity is concerned, changing to log axis, changing the 
labels and so on are a question of convenience. On the other hand, 
coordinate reporting can be done only by pointing the mouse to a 
specific location on the graph. For this reason, I would say that 
cross-hairs/coordinate reporting is a 1000 times more important in an 
interactive plot than anything else. In other words, we have to ask the 
question what interactivity brings to the table.


More information about the IPython-dev mailing list