IPython, "name 'plt' not defined"
Asked Answered
T

2

17

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

Thaddeus answered 9/11, 2018 at 18:0 Comment(0)
M
15
  • 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.
Mortify answered 10/11, 2018 at 14:3 Comment(0)
B
32

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

from matplotlib import pyplot as plt
Browder answered 2/1, 2021 at 20:12 Comment(1)
You have to import the library first. is not correct, and the canonical way to import pyplot is import matplotlib.pyplot as plt, as shown in the matplotlib User GuideTauten
M
15
  • 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.
Mortify answered 10/11, 2018 at 14:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.