We have different types of plots in matplotlib library which can help us to make a suitable graph as you needed. As per the given data, we can make a lot of graph and with the help of pandas, we can create a dataframe before doing plotting of data. Let’s discuss the different types of plot in matplotlib by using Pandas.
Use these commands to install matplotlib, pandas and numpy:
pip install matplotlib pip install pandas pip install numpy
Types of Plots:
- Basic plotting: In this basic plot we can use the randomly generated data to plot graph using series and matplotlib.
Python3
# import libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
ts = pd.Series(np.random.randn( 1000 ), index = pd.date_range(
'1/1/2000' , periods = 1000 ))
ts = ts.cumsum()
ts.plot() plt.show() |
Output:
- Plot of different data: Using more than one list of data in a plot.
Python3
# importing libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
ts = pd.Series(np.random.randn( 1000 ), index = pd.date_range(
'1/1/2000' , periods = 1000 ))
df = pd.DataFrame(np.random.randn( 1000 , 4 ),
index = ts.index, columns = list ( 'ABCD' ))
df = df.cumsum()
plt.figure() df.plot() plt.show() |
Output:
- Plot on given axis: We can explicitly define the name of axis and plot the data on the basis of this axis.
Python3
# importing libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
ts = pd.Series(np.random.randn( 1000 ), index = pd.date_range(
'1/1/2000' , periods = 1000 ))
df = pd.DataFrame(np.random.randn( 1000 , 4 ), index = ts.index,
columns = list ( 'ABCD' ))
df3 = pd.DataFrame(np.random.randn( 1000 , 2 ),
columns = [ 'B' , 'C' ]).cumsum()
df3[ 'A' ] = pd.Series( list ( range ( len (df))))
df3.plot(x = 'A' , y = 'B' )
plt.show() |
Output:
- Bar plot using matplotlib: Find different types of bar plot to clearly understand the behaviour of given data.
Python3
# importing libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
ts = pd.Series(np.random.randn( 1000 ), index = pd.date_range(
'1/1/2000' , periods = 1000 ))
df = pd.DataFrame(np.random.randn( 1000 , 4 ), index = ts.index,
columns = list ( 'ABCD' ))
df3 = pd.DataFrame(np.random.randn( 1000 , 2 ),
columns = [ 'B' , 'C' ]).cumsum()
df3[ 'A' ] = pd.Series( list ( range ( len (df))))
df3.iloc[ 5 ].plot.bar()
plt.axhline( 0 , color = 'k' )
plt.show() |
Output:
- Histograms:
Python3
# importing libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df4 = pd.DataFrame({ 'a' : np.random.randn( 1000 ) + 1 ,
'b' : np.random.randn( 1000 ),
'c' : np.random.randn( 1000 ) - 1 },
columns = [ 'a' , 'b' , 'c' ])
plt.figure() df4.plot.hist(alpha = 0.5 )
plt.show() |
Output:
- Box plot using Series and matplotlib: Use box to plot the data of dataframe.
Python3
# importing libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand( 10 , 5 ),
columns = [ 'A' , 'B' , 'C' , 'D' , 'E' ])
df.plot.box() plt.show() |
Output:
- Density plot:
Python3
# importing libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand( 10 , 5 ),
columns = [ 'A' , 'B' , 'C' , 'D' , 'E' ])
ser = pd.Series(np.random.randn( 1000 ))
ser.plot.kde() plt.show() |
Output:
- Area plot using matplotlib:
Python3
# importing libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand( 10 , 5 ),
columns = [ 'A' , 'B' , 'C' , 'D' , 'E' ])
df.plot.area() plt.show() |
Output:
- Scatter plot:
Python3
# importing libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand( 500 , 4 ),
columns = [ 'a' , 'b' , 'c' , 'd' ])
df.plot.scatter(x = 'a' , y = 'b' )
plt.show() |
Output:
- Hexagonal Bin Plot:
Python3
# importing libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn( 1000 , 2 ), columns = [ 'a' , 'b' ])
df[ 'a' ] = df[ 'a' ] + np.arrange( 1000 )
df.plot.hexbin(x = 'a' , y = 'b' , gridsize = 25 )
plt.show() |
Output:
- Pie plot:
Python3
# importing libraries import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
series = pd.Series( 3 * np.random.rand( 4 ),
index = [ 'a' , 'b' , 'c' , 'd' ], name = 'series' )
series.plot.pie(figsize = ( 4 , 4 ))
plt.show() |
Output: