Jupyter and matplotlib are working as you have programmed.
The issue is how you're using np.linspace()
.
Currently, it is
x = np.linspace(0,10,1)
If you were to print this out, this is what you would get
array([0.])
So there is only one x
value and it is plotted as a single dot.
To plot something, you'll need to change the third argument to something else. That is the parameter for num
, of the number of samples to generate. So having a 1
there produces one point.
So try something like this
x = np.linspace(0, 10, 100)
y = np.sin(x)
pl.plot(x,y)

Documentation for np.linspace()
https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html