Different plotting using pandas and matplotlib - GeeksforGeeks

12 May, 2021
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 
Basic plotting: In this basic plot we can use the randomly generated data to plot graph using series and matplotlib.
Python3
# import librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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 librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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 librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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 librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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 librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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 librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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 librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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 librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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 librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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 librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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 librariesimport matplotlib.pyplot as pltimport pandas as pdimport 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: 
 
 
surinderdawra388
Picked
Python pandas-plotting
Python-matplotlib
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Install PIP on Windows ?
Check if element exists in list in Python
How To Convert Python Dictionary To JSON?
How to drop one or multiple columns in Pandas Dataframe
Python Classes and Objects
Python | os.path.join() method
Python | Get unique values from a list
Create a directory in Python
Defaultdict in Python
Python | Pandas dataframe.groupby()