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: