AnatomyOfMatplotlib icon indicating copy to clipboard operation
AnatomyOfMatplotlib copied to clipboard

Remove backend and add resolve nteract: matplotlib.use('nbagg')

Open hasibzunair opened this issue 4 years ago • 8 comments

Backend is no longer necessary IMO. Using a backend results in the following error on Jupyter.

Javascript Error: IPython is not defined

Also adding %matplotlib inline before importing matplotlib resolves the displaying of graphs.

Should I fix them in the notebooks and send a PR?

Thanks.

hasibzunair avatar Oct 27 '19 20:10 hasibzunair

Switching to inline means none of the interactive examples will work. To get them to work under jupyterlab (rather than the classic notebooks) the magics should be switched to %matplotlib widget and the install instruction should be updated to make sure ipympl is installed (on both the js and python sides).

tacaswell avatar Oct 27 '19 20:10 tacaswell

I am able to run all examples by switching to inline and removing backend at the same time. Also %matplotlib widget, after installing ipympl, results in the following error in the Test Install.ipynb.

Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …

I am using Python 3.6.8.

hasibzunair avatar Oct 27 '19 20:10 hasibzunair

I believe you have to restart your server after installing ipympl. One of the strenghts of Matplotlib is that it is interactive (you can pan / zoom, add lines iteratively etc). Switching to the inline backend throws all of that out and replaces the plots to static png that must be generated all in one cell so I am very reluctant to change the tutorial to be based on 'inline'.

tacaswell avatar Oct 27 '19 20:10 tacaswell

I already restarted after installing it. Still results in the same error. Additionally, running the cell more than once results in another error:

KeyError: '97acd0c8fb504a2288834b349003b4ae'

hasibzunair avatar Oct 27 '19 20:10 hasibzunair

That still sounds like installation issues. Can you open an issue with https://github.com/matplotlib/jupyter-matplotlib ?

tacaswell avatar Oct 27 '19 20:10 tacaswell

You can find the issue at #148. Any workarounds for the backend issue? Not sure if this matplotlib.use('nbagg') is needed anymore.

hasibzunair avatar Oct 27 '19 20:10 hasibzunair

As I said above, we need to update the notebooks and install instructions to work with ipypmpl rather than nbagg.

tacaswell avatar Oct 27 '19 21:10 tacaswell

Requesting a review for #33

hasibzunair avatar Oct 27 '19 21:10 hasibzunair