Pandas Plot Multiple Columns on Bar Chart With Matplotlib
- Plot Bar Chart of Multiple Columns for Each Observation in the Single Bar Chart
- Stack Bar Chart of Multiple Columns for Each Observation in the Single Bar Chart
In this tutorial, we will introduce how we can plot multiple columns on a bar chart using the plot()
method of the DataFrame
object.
import pandas as pd
data = [
["Rudra", 23, 156, 70],
["Nayan", 20, 136, 60],
["Alok", 15, 100, 35],
["Prince", 30, 150, 85],
]
df = pd.DataFrame(data, columns=["Name", "Age", "Height(cm)", "Weight(kg)"])
print(df)
Output:
Name Age Height(cm) Weight(kg)
0 Rudra 23 156 70
1 Nayan 20 136 60
2 Alok 15 100 35
3 Prince 30 150 85
We will use the DataFrame df
to construct bar plots. We need to plot age, height, and weight for each person in the DataFrame on a single bar chart.
Plot Bar Chart of Multiple Columns for Each Observation in the Single Bar Chart
import pandas as pd
import matplotlib.pyplot as plt
data = [
["Rudra", 23, 156, 70],
["Nayan", 20, 136, 60],
["Alok", 15, 100, 35],
["Prince", 30, 150, 85],
]
df = pd.DataFrame(data, columns=["Name", "Age", "Height(cm)", "Weight(kg)"])
df.plot(x="Name", y=["Age", "Height(cm)", "Weight(kg)"], kind="bar", figsize=(9, 8))
plt.show()
Output:
It generates a bar chart for Age
, Height
and Weight
for each person in the dataframe df
using the plot()
method for the df
object. We pass a list of all the columns to be plotted in the bar chart as y
parameter in the method, and kind="bar"
will produce a bar chart for the df
. The x
parameter will be varied along the X-axis.
Stack Bar Chart of Multiple Columns for Each Observation in the Single Bar Chart
import pandas as pd
import matplotlib.pyplot as plt
employees = ["Rudra", "Alok", "Prince", "Nayan", "Reman"]
earnings = {
"January": [10, 20, 15, 18, 14],
"February": [20, 13, 10, 18, 15],
"March": [20, 20, 10, 15, 18],
}
df = pd.DataFrame(earnings, index=employees)
df.plot(kind="bar", stacked=True, figsize=(10, 8))
plt.legend(loc="lower left", bbox_to_anchor=(0.8, 1.0))
plt.show()
Output:
It displays the bar chart by stacking one column’s value over the other for each index in the DataFrame.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn