Skip to content

Loading…

Allow resizing figures in notebook #1193

Closed
szhorvat opened this Issue · 13 comments

10 participants

@szhorvat

This is a feature request.

matplotlib figures are interactive when using the default backend. If would be useful have have at least the resizing functionality in the notebook interface.

It would be nice to have resizeable figures in the notebook interface, at least in the cases where it's easy to implement (is it possible to do it e.g. for SVG output only?)

@ellisonbg
IPython: interactive computing in Python member

I think this is something we can do.

@cschin

I am wondering whether we should look into how to integrate the matplotlib HMTL5 canvas backend http://code.google.com/p/mplh5canvas/

@Sharpie

The mplh5canvas features list doesn't look too encouraging:

Firefox is not supported and Internet Explorer will never be supported.

Ouch.

@cschin

I think they use websocket for frontend/backend communication. If we can replace that with ipython's one... , I can help to take a look some time in the furture

@mcelrath

See #1881 for improving/switching to SVG matplotlib output.

Scaling SVG plots holding the aspect ratio fixed is possible now just using CSS. Changing the aspect ratio requires requesting matplotlib to re-plot. Zooming or panning (as is possible in the matplotlib gtk/qt interface) is not currently possible, and would require writing a new backend along the lines of mplh5canvas.

@ellisonbg
IPython: interactive computing in Python member

We can do zooming and panning with the current inline backend and a JavaScript widget that uses our display system. It shouldn't be too bad actually.

@SylvainCorlay
IPython: interactive computing in Python member

Hi,
I am coming back on this old issue as mplh5canvas is mentioned.
Is there any plan in the future to either

  • integrate the matplotlib html5 backend with the notebook,
  • integrate the matplotlib qt backend with the qt console for inline plots, rather than only relying on the static png images?

Best,
Sylvain

@Carreau
@SylvainCorlay
IPython: interactive computing in Python member

1) I saw (and tried) the pull request 4195, but the example relies on an other js plotting library rather than leveraging matplotlib with a potential html/js backend.
2) Too bad!

@damianavila

In current master, the figure are resizeable inside the notebook, so probably we can close this one...

@minrk minrk closed this
@startakovsky

@damianavila Is this still true? Running IPython Notebook 3.0.1 here..... Vanilla install. Ubuntu.

This is not resizable from the notebook:

from IPython.core.display import Image
Image('http://www.cliffsofmoher.ie/wp-content/uploads/2013/09/sept242013paki.png')

@damianavila

@damianavila Is this still true?

I don't think so... IIRC, there was some problem with the re sizing and we defined to have no resizable figures... let me find the issues/PRs... OK here: #8098 and here: #8062

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.