python - how can i plot simple functions like sine x with IPython? - Ask Ubuntu
my teacher plot functions jupyter or ipython. have installed jupyter , have home screen.
but how can plot function?
i have tried: plot sin(x)
but message:
file "<ipython-input-4-7979a129f00f>", line 1 plot sin(x) ^ syntaxerror: invalid syntax
from terminal type:
sudo apt-get install ipython-notebook python-numpy python-matplotlib
the latest version of ipython notebook known jupyter notebook. can optionally install jupyter notebook instead of ipython notebook. in ubuntu 14.04/16.04/16.10 follow instructions in this answer install jupyter notebook upgrading ipython notebook jupyter notebook. starting ubuntu 17.04, can install jupyter notebook default ubuntu repositories (sudo apt install jupyter-notebook jupyter-core python-ipykernel
). python-ipykernel necessary running python 2.x programs in jupyter notebook, otherwise supports python 3.x. if jupyter notebook installed, command start jupyter jupyter notebook
, first line of code enable plotting in current notebook %matplotlib inline
.
follow these steps generate sine wave plot in example matplotlib.org.
open ipython-notebook web browser interface. terminal run:
ipython notebook --pylab
the
--pylab
option removed when transitioned ipython jupyter notebook. instead usejupyter notebook
start jupyter.make new notebook. ipython notebook interface click new notebook button. new notebook tab open in default web browser. new notebook tab select file -> rename, rename new notebook descriptive name sine_wave , click ok button.
copy example python code plotting sine wave listed below , paste sine_wave notebook right of says
in [1]:
using keyboard combination ctrl+v. paste whole code block together, not 1 line @ time.import matplotlib.pyplot plt import numpy np t = np.arange(0.0, 2.0, 0.01) s = np.sin(2*np.pi*t) plt.plot(t, s) plt.xlabel('time (s)') plt.ylabel('voltage (mv)') plt.title('voltage (mv) vs. time (sec)') plt.grid(true) plt.savefig("plot-voltage-vs.-time.png") plt.show()
plt.savefig("plot-voltage-vs.-time.png")
saves image of plot without window chrome in home directory.click black triangular-shaped run button ( ▶ ) on menu bar run code block.
your output plot appear in small popup window looks popup window in below screenshot.
repeat steps 3. , 4. run new code block (
in [2]:
). try pasting following simple python code afterin [2]:
, running it.import matplotlib.pyplot plt import numpy np x = np.arange(0.0, 2.0, 0.01) y = np.sin(2*np.pi*x) plt.plot(x, y) plt.show()
the error message importerror: no module named 'matplotlib'
caused using python 3 jupyter installed python 2.x. possible use python 3 in jupyter notebook python 2 adding kernel python 2. if you're running jupyter on python 3, can set python 2 kernel this:
python2 -m pip install ipykernel python2 -m ipykernel install --user
Comments
Post a Comment