Different plotting using pandas and matplotlib

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:

  1. Basic plotting: In this basic plot we can use the randomly generated data to plot graph using series and matplotlib.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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()

    chevron_right

    
    

    Output:

  2. Plot of different data: Using more than one list of data in a plot.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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()

    chevron_right

    
    

    Output:

  3. Plot on given axis: We can explicitly define the name of axis and plot the data on the basis of this axis.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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()

    chevron_right

    
    

    Output:

  4. Bar plot using matplotlib: Find different types of bar plot to clearly understand the behaviour of given data.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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()

    chevron_right

    
    

    Output:

  5. Histograms:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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()

    chevron_right

    
    

    Output:

  6. Box plot using Series and matplotlib: Use box to plot the data of dataframe.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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()

    chevron_right

    
    

    Output:

  7. Density plot:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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()

    chevron_right

    
    

    Output:

  8. Area plot using matplotlib:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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()

    chevron_right

    
    

    Output:

  9. Scatter plot:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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()

    chevron_right

    
    

    Output:

  10. Hexagonal Bin Plot:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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.arange(1000)
    df.plot.hexbin(x ='a', y ='b', gridsize = 25)
    plt.show()

    chevron_right

    
    

    Output:

  11. Pie plot:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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()

    chevron_right

    
    

    Output:



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.