Course Content
Ultimate Visualization with Python
Ultimate Visualization with Python
Stacked Bar Charts
Stacked bar charts are useful when we want to compare several categories (two or more) for each value on the x-axis. For example, instead of only looking at the GDP of different countries we may want to look at the amount of contribution of each economic sector to the GDP of a particular country (the data is not real):
import matplotlib.pyplot as plt import numpy as np countries = ['USA', 'China', 'Japan'] primary_sector = np.array([1.4, 4.8, 0.4]) secondary_sector = np.array([11.3, 6.2, 0.8]) tertiary_sector = np.array([14.2, 8.4, 3.2]) # Calling the bar() function multiple times for each category (sector) plt.bar(countries, primary_sector) plt.bar(countries, secondary_sector, bottom=primary_sector) plt.bar(countries, tertiary_sector, bottom=primary_sector + secondary_sector) plt.show()
Similarly to line plots and scatter plots, we called the bar()
function three times to create three bars for each value on the x-axis (country names in our example). In every call countries
are specified as x-axis values in order to create stacked bars. Pay extra attention to the bottom
parameter.
Note
bottom
parameter specifies the y coordinate(s) of the bottom side(s) of the bars. Here is the documentation.
Swipe to show code editor
- Use the correct function for creating bar charts.
- Plot the lower bars for
yes_answers
. - Plot the bars for
no_answers
on top of the bars foryes_answers
with specifying the correct keyword argument.
Thanks for your feedback!
Stacked Bar Charts
Stacked bar charts are useful when we want to compare several categories (two or more) for each value on the x-axis. For example, instead of only looking at the GDP of different countries we may want to look at the amount of contribution of each economic sector to the GDP of a particular country (the data is not real):
import matplotlib.pyplot as plt import numpy as np countries = ['USA', 'China', 'Japan'] primary_sector = np.array([1.4, 4.8, 0.4]) secondary_sector = np.array([11.3, 6.2, 0.8]) tertiary_sector = np.array([14.2, 8.4, 3.2]) # Calling the bar() function multiple times for each category (sector) plt.bar(countries, primary_sector) plt.bar(countries, secondary_sector, bottom=primary_sector) plt.bar(countries, tertiary_sector, bottom=primary_sector + secondary_sector) plt.show()
Similarly to line plots and scatter plots, we called the bar()
function three times to create three bars for each value on the x-axis (country names in our example). In every call countries
are specified as x-axis values in order to create stacked bars. Pay extra attention to the bottom
parameter.
Note
bottom
parameter specifies the y coordinate(s) of the bottom side(s) of the bars. Here is the documentation.
Swipe to show code editor
- Use the correct function for creating bar charts.
- Plot the lower bars for
yes_answers
. - Plot the bars for
no_answers
on top of the bars foryes_answers
with specifying the correct keyword argument.
Thanks for your feedback!