How to generate stacked BAR plot in Python?
DATA VISUALIZATION DATA CLEANING PYTHON DATA MUNGING MACHINE LEARNING RECIPES PANDAS CHEATSHEET     ALL TAGS

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

1

Recipe Objective

Graphical representation of data gives us a better idea of the data. Bar graph is one of the way to do that.

So this is the recipe on how we can generate stacked BAR plot in Python.

Step 1 - Importing Library

import pandas as pd import matplotlib.pyplot as plt

We have only imported pandas and matplotlib which is needed.

Step 2 - Creating a dataframe

We have created a dictionary with different values and passed it to pd.DataFrame to create a 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(df)

Step 2 - Creating Bar Graph

We have created a bar graph for that we have to set various things. We have fixed bar width, bar boundries and their position. f, ax = plt.subplots(1, figsize=(10,5)) bar_width = 1 bar_l = [i for i in range(len(df["pre_score"]))] tick_pos = [i+(bar_width/2)-0.5 for i in bar_l] Here we have set the stack segment of the bar graph, by calculating total and individual sum and their percentage. We have also set the position of the bar. totals = [i+j+k for i,j,k in zip(df["pre_score"], df["mid_score"], df["post_score"])] pre_rel = [i / j * 100 for i,j in zip(df["pre_score"], totals)] mid_rel = [i / j * 100 for i,j in zip(df["mid_score"], totals)] post_rel = [i / j * 100 for i,j in zip(df["post_score"], totals)] ax.bar(bar_l, pre_rel, label="Pre Score", alpha=0.9, width=bar_width, edgecolor="white") ax.bar(bar_l, mid_rel, bottom=pre_rel, label="Mid Score", alpha=0.9, width=bar_width, edgecolor="white") 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") We are setting the label of x axis, y axis and other parameters of the plot. print(tick_pos) plt.xticks(tick_pos, df["first_name"]) ax.set_ylabel("Percentage") ax.set_xlabel("") plt.xlim([min(tick_pos)-bar_width, max(tick_pos)+bar_width]) plt.ylim(-10, 110) plt.setp(plt.gca().get_xticklabels(), rotation=45) plt.show()

  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

Zillow’s Home Value Prediction (Zestimate)
Data Science Project in R -Build a machine learning algorithm to predict the future sale prices of homes.

Topic modelling using Kmeans clustering to group customer reviews
In this Kmeans clustering machine learning project, you will perform topic modelling in order to group customer reviews based on recurring patterns.

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.

Ecommerce product reviews - Pairwise ranking and sentiment analysis
This project analyzes a dataset containing ecommerce product reviews. The goal is to use machine learning models to perform sentiment analysis on product reviews and rank them based on relevance. Reviews play a key role in product recommendation systems.

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.

Walmart Sales Forecasting Data Science Project
Data Science Project in R-Predict the sales for each department using historical markdown data from the Walmart dataset containing data of 45 Walmart stores.

Ensemble Machine Learning Project - All State Insurance Claims Severity Prediction
In this ensemble machine learning project, we will predict what kind of claims an insurance company will get. This is implemented in python using ensemble machine learning algorithms.

Credit Card Fraud Detection as a Classification Problem
In this data science project, we will predict the credit card fraud in the transactional dataset using some of the predictive models.

Predict Credit Default | Give Me Some Credit Kaggle
In this data science project, you will predict borrowers chance of defaulting on credit loans by building a credit score prediction model.

Demand prediction of driver availability using multistep time series analysis
In this supervised learning machine learning project, you will predict the availability of a driver in a specific area by using multi step time series analysis.