[IPython-dev] SVG figures status report
zvoros at gmail.com
Tue Jun 26 13:32:07 EDT 2012
On 06/26/2012 12:54 PM, Bob McElrath wrote:
> 1. There's a lot of good code in 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