Pandas: как построить несколько столбцов на гистограмме


Вы можете использовать следующий синтаксис для построения нескольких столбцов DataFrame pandas на одной гистограмме:

 df[[' x ', ' var1 ', ' var2 ', ' var3 ']]. plot (x=' x ', kind=' bar ')

Столбец x будет использоваться в качестве переменной оси X, а var1 , var2 и var3 будут использоваться в качестве переменных оси Y.

Следующие примеры показывают, как использовать эту функцию на практике.

Пример 1. Отображение столбцов на гистограмме

Следующий код показывает, как построить три столбца на гистограмме, указав, что столбец с именем period должен использоваться в качестве переменной на оси 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 ') 

Pandas отображает несколько столбцов на гистограмме

Мы также могли бы выбрать отображение только определенных столбцов, например 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 ']) 

Дополнительные ресурсы

Как построить несколько серий из DataFrame Pandas
Как создать облако точек из Pandas DataFrame

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *