Psyduck
Psyduck

Reputation: 667

ModuleNotFoundError: No module named 'matplotlib.pyplot'

When making a plot, I used both Jupyter Notebook and Pycharm with the same set of code and packages. The code is:

import pandas as pd
import numpy as np 
import matplotlib.pyplot as plt   # as in Pycharm
import matplotlib as plt          # as in Jupyter

df = pd.read_csv("/home/kunal/Downloads/Loan_Prediction/train.csv")
df['ApplicantIncome'].hist(bins=50)
plt.show() #this only in Pycharm not in Jupyter.

In Pycharm, the code works well. But in Jupyter Notebook, it has error:enter image description here

I wish someone can help me solve this problem

Upvotes: 8

Views: 56766

Answers (8)

Carraway XU
Carraway XU

Reputation: 19

pip install matplotlib-inline

works for me after trying other lots of methods. Matplotlib-inline can be thought as a single module.

Upvotes: 0

Welcome_back
Welcome_back

Reputation: 1445

if you are using Anaconda CMD the use this command,

conda install matplotlib 

If you are using Normal CMD then use command,

pip install matplotlib

or

pip3 install matplotlib

Upvotes: 3

KushChandak
KushChandak

Reputation: 11

This code worked for me

%pip install matplotlib-inline

Upvotes: 1

Victor Oliveira
Victor Oliveira

Reputation: 393

I had the same problem and found a solution! Matplotlib was installed on another python installation I have.

Put the following snippet in a cell and execute it, and you should be good to go:

import sys
!{sys.executable} -m pip install matplotlib

Upvotes: 17

Xavier Lam
Xavier Lam

Reputation: 31

if you are using jupyter notebook in anaconda, matplotlib should be installed to the environment.

go to Environments -> the environment you are using -> change the droplist to not installed -> search matplotlib, and install

Upvotes: 3

karthiks
karthiks

Reputation: 7299

This is an indication that matplotlib lib/module is not installed. So all you have to do is install this module by running the code below in the cell previous to referring matplotlib:

!pip install matplotlib

Hope it helps!

Upvotes: 8

ImportanceOfBeingErnest
ImportanceOfBeingErnest

Reputation: 339230

You don't need to use %matplotlib inline as other answers here suggest. This is optional and not using it should not prevent importing pyplot.

What should work is the following:

enter image description here

You may decide to use %matplotlib inline in which case you don't have to call plt.show().

enter image description here

You may also use %matplotlib notebook, which gives you an interactive plot.

enter image description here

Finally, you may use %matplotlib tk to get a windowed figure like you would in PyCharm.

enter image description here

All of those options require to have imported matplotlib.pyplot. Importing matplotlib alone is not helpful. Also, if you experience any problems, start a new kernel first (don't try something new in line 27 of your notebook).

Upvotes: 6

Eliethesaiyan
Eliethesaiyan

Reputation: 2322

add %matplotlib inline on top of your codes,it makes matplotlib execute in interactive way

Upvotes: 2

Related Questions