Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IPython, "name 'plt' not defined"

I recently installed Atom as an IDE on my laptop, for university. I installed Hydrogen as a convenient solution to show some plots on the go. But whenever I run Hydrogen, I get this error:

NameError                                 Traceback (most recent call last)
< ipython-input-1-1eb00ff78cf2>  in <module>

----> 1 plt.show()


NameError: name 'plt' is not defined

However Matplotlib is working properly when executed normally, and IPython seems to do as well. This is the code I'm trying to run test-wise:

%matplotlib ipympl

import matplotlib.pyplot as plt

a_x=[1,2,3,4,5,6]
a_y=[1,2,3,4,5,6]

plt.plot(a_x, a_y)
plt.show()

A video of the problem is available here.

enter image description here

  • Selected Run

enter image description here

  • Resulting error

enter image description here

like image 716
Chewhakka Avatar asked Nov 09 '18 18:11

Chewhakka


Video Answer


2 Answers

You have to import the library first. Add this at start of the code.-

from matplotlib import pyplot as plt
like image 140
ishan weerakoon Avatar answered Oct 16 '22 16:10

ishan weerakoon


  • As shown in the OP, import matplotlib.pyplot as plt is present, but it didn't get executed.
    • You only executed the selected line (9) with plt.show(), not the whole file.
  • You can see the problem by carefully reading the traceback. Line 9 in the script is line 1 in the traceback: ----> 1 plt.show()
  • The solution is to run the whole file, not one line. Click Run All not Run.
like image 39
user3508453 Avatar answered Oct 16 '22 17:10

user3508453