Como criar gráficos de barras empilhadas no matplotlib (com exemplos)
Um gráfico de barras empilhadas é um tipo de gráfico que usa barras para exibir frequências de diferentes categorias.
Podemos criar este tipo de gráfico no Matplotlib usando a função matplotlib.pyplot.bar() .
Este tutorial mostra como usar esta função na prática.
Crie um gráfico de barras empilhadas básico
O código a seguir mostra como criar um gráfico de barras empilhadas para exibir o total de vendas de dois produtos em quatro trimestres de vendas diferentes:
import numpy as np import matplotlib.pyplot as plt #createdata quarter = ['Q1', 'Q2', 'Q3', 'Q4'] product_A = [14, 17, 12, 9] product_B = [7, 15, 24, 18] #define chart parameters N = 4 barWidth = .5 xloc = np. orange (N) #display stacked bar chart p1 = plt. bar (xloc, product_A, width=barWidth) p2 = plt. bar (xloc, product_B, bottom=product_A, width=barWidth) plt. show ()
Adicione um título, rótulos e legenda
Também podemos adicionar um título, rótulos, marcas de escala e legenda para facilitar a leitura do gráfico:
import numpy as np import matplotlib.pyplot as plt #create data for two teams quarter = ['Q1', 'Q2', 'Q3', 'Q4'] product_A = [14, 17, 12, 9] product_B = [7, 15, 24, 18] #define chart parameters N = 4 barWidth = .5 xloc = np. orange (N) #create stacked bar chart p1 = plt. bar (xloc, product_A, width=barWidth) p2 = plt. bar (xloc, product_B, bottom=product_A, width=barWidth) #add labels, title, tick marks, and legend plt. ylabel ('Sales') plt. xlabel ('Quarter') plt. title ('Sales by Product & Quarter') plt. xticks (xloc, ('Q1', 'Q2', 'Q3', 'Q4')) plt. yticks (np. arange (0, 41, 5)) plt. legend ((p1[0], p2[0]), ('A', 'B')) #displaychart plt. show ()
Personalize as cores do gráfico
Finalmente, podemos personalizar as cores usadas no gráfico com o argumento cores() em plt.bar() :
import numpy as np import matplotlib.pyplot as plt #create data for two teams quarter = ['Q1', 'Q2', 'Q3', 'Q4'] product_A = [14, 17, 12, 9] product_B = [7, 15, 24, 18] #define chart parameters N = 4 barWidth = .5 xloc = np. orange (N) #create stacked bar chart p1 = plt. bar (xloc, product_A, width=barWidth, color=' springgreen ') p2 = plt. bar (xloc, product_B, bottom=product_A, width=barWidth, color=' coral ') #add labels, title, tick marks, and legend plt. ylabel ('Sales') plt. xlabel ('Quarter') plt. title ('Sales by Product & Quarter') plt. xticks (xloc, ('Q1', 'Q2', 'Q3', 'Q4')) plt. yticks (np. arange (0, 41, 5)) plt. legend ((p1[0], p2[0]), ('A', 'B')) #displaychart plt. show ()
Você pode encontrar uma lista completa de cores disponíveis na documentação do Matplotlib.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns no Matplotlib:
Como alterar o tamanho da fonte em um gráfico Matplotlib
Como remover carrapatos de gráficos Matplotlib
Como mostrar linhas de grade em gráficos Matplotlib