Вы можете использовать следующий синтаксис для построения нескольких столбцов кадра данных pandas на одной гистограмме:
df[['x', 'var1', 'var2', 'var3']].plot(x='x', kind='bar')
Столбец x будет использоваться как переменная оси x, а var1 , var2 и var3 будут использоваться как переменные оси y.
В следующих примерах показано, как использовать эту функцию на практике.
Пример 1. Нанесение столбцов на гистограмму
В следующем коде показано, как построить три столбца на гистограмме, указав, что столбец с именем периода должен использоваться в качестве переменной оси X:
import pandas as pd
import matplotlib.pyplot as plt
#create fake data
df = pd.DataFrame({'period': [1, 2, 3, 4, 5, 6, 7, 8],
'A': [9, 12, 15, 14, 19, 23, 25, 29],
'B': [5, 7, 7, 9, 12, 9, 9, 14],
'C': [5, 4, 7, 13, 15, 15, 18, 31]})
#plot columns on bar chart
df[['period', 'A', 'B', 'C']].plot(x='period', kind='bar')

Мы также можем выбрать отображение только определенных столбцов, таких как A и B :
df[['period', 'A', 'B']].plot(x='period', kind='bar')

Пример 2. Нанесение столбцов на линейчатую диаграмму с накоплением
Чтобы создать гистограмму с накоплением, нам просто нужно указать stacked=True в функции построения графика:
import pandas as pd
import matplotlib.pyplot as plt
#create fake data
df = pd.DataFrame({'period': [1, 2, 3, 4, 5, 6, 7, 8],
'A': [9, 12, 15, 14, 19, 23, 25, 29],
'B': [5, 7, 7, 9, 12, 9, 9, 14],
'C': [5, 4, 7, 13, 15, 15, 18, 31]})
#create stacked bar chart
df[['period', 'A', 'B', 'C']].plot(x='period', kind='bar', stacked= True )

Чтобы изменить цвета полос, просто используйте аргумент цвета следующим образом:
df[['period', 'A', 'B', 'C']].plot(x='period', kind='bar', stacked= True ,
color=['red', 'pink', 'gold'])

Дополнительные ресурсы
Как построить несколько рядов из фрейма данных Pandas
Как сделать диаграмму рассеяния из фрейма данных Pandas