How to generate stacked BAR plot in Python?
DATA VISUALIZATION

How to generate stacked BAR plot in Python?

How to generate stacked BAR plot in Python?

This recipe helps you generate stacked BAR plot in Python

0
This python source code does the following : 1. Creates and converts data dictionary into dataframe 2. Plots stack bar graphs using matplotlib for visualization
In [2]:
## How to generate stacked BAR plot in Python
def Snippet_119():
    print()
    print(format('How to generate stacked BAR plot in Python','*^82'))

    import warnings
    warnings.filterwarnings("ignore")

    # load libraries
    import pandas as pd
    import matplotlib.pyplot as plt

    # Create dataframe
    raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],
                'pre_score': [4, 24, 31, 2, 3],
                'mid_score': [25, 94, 57, 62, 70],
                'post_score': [5, 43, 23, 23, 51]}
    df = pd.DataFrame(raw_data, columns = ['first_name', 'pre_score', 'mid_score', 'post_score'])
    print(); print(df)

    # Create a figure with a single subplot
    f, ax = plt.subplots(1, figsize=(10,5))

    # Set bar width at 1
    bar_width = 1

    # positions of the left bar-boundaries
    bar_l = [i for i in range(len(df['pre_score']))]

    # positions of the x-axis ticks (center of the bars as bar labels)
    tick_pos = [i+(bar_width/2)-0.5 for i in bar_l]

    # Create the total score for each participant
    totals = [i+j+k for i,j,k in zip(df['pre_score'], df['mid_score'], df['post_score'])]

    # Create the percentage of the total score the pre_score value for each participant was
    pre_rel = [i / j * 100 for  i,j in zip(df['pre_score'], totals)]

    # Create the percentage of the total score the mid_score value for each participant was
    mid_rel = [i / j * 100 for  i,j in zip(df['mid_score'], totals)]

    # Create the percentage of the total score the post_score value for each participant was
    post_rel = [i / j * 100 for  i,j in zip(df['post_score'], totals)]

    # Create a bar chart in position bar_1
    ax.bar(bar_l, pre_rel, label='Pre Score', alpha=0.9, width=bar_width, edgecolor='white')

    # Create a bar chart in position bar_1
    ax.bar(bar_l, mid_rel, bottom=pre_rel, label='Mid Score', alpha=0.9, width=bar_width,
           edgecolor='white')

    # Create a bar chart in position bar_1
    ax.bar(bar_l, post_rel, bottom=[i+j for i,j in zip(pre_rel, mid_rel)],
           label='Post Score', alpha=0.9, width=bar_width, edgecolor='white')

    # Set the ticks to be first names
    print(tick_pos)
    plt.xticks(tick_pos, df['first_name'])
    ax.set_ylabel("Percentage")
    ax.set_xlabel("")

    # Let the borders of the graphic
    plt.xlim([min(tick_pos)-bar_width, max(tick_pos)+bar_width])
    plt.ylim(-10, 110)

    # rotate axis labels
    plt.setp(plt.gca().get_xticklabels(), rotation=45)
    plt.show()

Snippet_119()
********************How to generate stacked BAR plot in Python********************

  first_name  pre_score  mid_score  post_score
0      Jason          4         25           5
1      Molly         24         94          43
2       Tina         31         57          23
3       Jake          2         62          23
4        Amy          3         70          51
[0.0, 1.0, 2.0, 3.0, 4.0]

Relevant Projects

Data Science Project in Python on BigMart Sales Prediction
The goal of this data science project is to build a predictive model and find out the sales of each product at a given Big Mart store.

PySpark Tutorial - Learn to use Apache Spark with Python
PySpark Project-Get a handle on using Python with Spark through this hands-on data processing spark python tutorial.

Loan Eligibility Prediction using Gradient Boosting Classifier
This data science in python project predicts if a loan should be given to an applicant or not. We predict if the customer is eligible for loan based on several factors like credit score and past history.

Perform Time series modelling using Facebook Prophet
In this project, we are going to talk about Time Series Forecasting to predict the electricity requirement for a particular house using Prophet.

Choosing the right Time Series Forecasting Methods
There are different time series forecasting methods to forecast stock price, demand etc. In this machine learning project, you will learn to determine which forecasting method to be used when and how to apply with time series forecasting example.

Identifying Product Bundles from Sales Data Using R Language
In this data science project in R, we are going to talk about subjective segmentation which is a clustering technique to find out product bundles in sales data.

Time Series Forecasting with LSTM Neural Network Python
Deep Learning Project- Learn to apply deep learning paradigm to forecast univariate time series data.

Solving Multiple Classification use cases Using H2O
In this project, we are going to talk about H2O and functionality in terms of building Machine Learning models.

Predict Macro Economic Trends using Kaggle Financial Dataset
In this machine learning project, you will uncover the predictive value in an uncertain world by using various artificial intelligence, machine learning, advanced regression and feature transformation techniques.

Forecast Inventory demand using historical sales data in R
In this machine learning project, you will develop a machine learning model to accurately forecast inventory demand based on historical sales data.