Jupyter not displaying matplotlib graphs - python

NOT DUPLICATE OF How to make IPython notebook matplotlib plot inline
I tried restarting kernel, using both %matplotlib inline twice/once ,and %matplotlib notebook twice/once, no change.
Reinstalled anaconda, tried plt.show(); (; at end) as well, no change.
plt.savefig("test.png")
saves graph picture beautifully, so it works in the backend.
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)
plt.show()
With %matplotlib notebook it displays a big blank, but hovering my mouse over displays the coordinates in the bottom right corner.
I have Windows 10, Python is 3.7.3, matplotlib 3.1.0, ipykernel 5.1.1, ipython 6.5.0, Jupyter Notebook server 6.0.0.

I was using Internet Explorer. Opened same Jupyter workbook in Edge, and it works!

Related

Does %matplotlib qt works in google colab?

I was using matplotlib and found out that there is something as interactive plots in matplotlib via which we can rotate the graph via mouse cursor
%matplotlib qt is used to enable the interactive plots.Works fine in jupyter notebook but google colab shows error enter image description here
Is there any chance it works in google colab also?
No. There is no chance. %matplotlib qtworks only if you have notebook executed on same machine as you use it. Colab is executed on remote server. You may try %matplotlib notebook This create interactive plot inside notebook.

How to export an jupyter interactive output within vsc as pdf

I am using visual studio code and I am using the python extension to run jupyter notebooks. A "python interactive" window is opened within vsc and displays the jupyter Notebook. I am wondering how do easily export this as pdf?
It is possible to export an ipython notebook, from there I can create an pdf … but these very unhandy ….
Code:
%%
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
%%
x = np.linspace(0,20, 100)
plt.plot(x, np.sin(x))
#plt.show()
%%
Screenshot:
You could log a suggestion on our github issues list:
https://github.com/Microsoft/vscode-python/issues/new.
Otherwise we don't currently support exporting to PDF. Just ipynb.

Can %matplotlib notebook only be bused in Jupyter?

I have this and it works in jupyter in browser:
%matplotlib notebook
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import scipy as sp
However, after I copied it to a python file in the PyDev IDE editor, it always complains the first line:
%matplotlib notebook
Error message:
Encountered "%" at line 1, column 1. Was expecting one of: <EOF> <NEWLINE> ... "(" ... "{" ...
Does this mean the magic method can only be used in jupyter notebook?
Yes, It's a jupyter notebook command.
Well, you can't use it in a file (as that's not valid Python syntax), but you can use it in the PyDev interactive console: http://www.pydev.org/manual_adv_interactive_console.html if you have IPython properly installed.
The command in question, %matplotlib notebook, can be used to specify how to display graphs in a Jupyter notebook. If you use %matplotlib inline, the graphs will be displayed as a part of the Jupyter notebook. Using the form of the command that you asked about will display the graph in an interactive form within the Jupyter notebook. Or using %matplotlib gtk will open another program to display each individual graph, which is how Python would display the graphs in any other situation. So the command does not have any use or meaning outside of a Jupyter notebook.

matplotlib interactive… isn't

I'm running Python 3.5.1 with matplotlib version 1.5.1 and iPython 5.0.0. I can't seem to get matplotlib's interactive feature working. I can run a command to create a plot:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1,2,3])
This doesn't show a figure until I manually execute plt.show(), at which point iPython hangs until I close the figure window. I have interactive set to True in my matplotlibrc file.
It's been a year or so since I used matplotlib. The last time I used it, I got interactive without having to execute plt.show(). Has something changed or am I doing something wrong?
You were probably using interactive mode previously.
Start ipython with:
ipython --pylab
Then your plots will show up instantly.

Jupyter shows plot without plt.show()

I am using the Jupyter notebook with Python 2.7. Importing matplotlib like this:
%matplotlib inline
import matplotlib.pyplot as plt
But I have observed one thing. When I use Python in Spyder I always have to use the plt.show() command at the end of the python script in order to see the plots.
In Jupyter I do not need this command in order to see a plot. I do get this error message:
[<matplotlib.lines.Line2D at 0x91615d0>]
but it still makes a plot. Why is that?
You turn on the immediate display with %matplotlib inline.
The line:
[<matplotlib.lines.Line2D at 0x91615d0>]
is no error message. It is the return value of the last command. Try adding a ; at the end of the last line to suppress this.
The requirement of adding %matplotlin inline is no longer needed in the latest jupyter notebooks. It's a by default addition now.
You can change settings in ipython_kernel_config.py for different behaviour

Categories

Resources