Mais barras com Matplotlib
Quando comparamos dados que podem ser representados por barras, e essas barras estão uma do lado da outra, é interessante que essas barras sejam de cores diferentes. Para facilitar o entendimento e localizar os dados que se procura.Todo esse trabalho, de criar múltiplas barras com corres diferentes, pode ser feito com a função bar. Só precisamos adicionar alguns parâmetros e chamar a função algumas vezes (uma para cada nova barra que se deseja desenhar no gráfico).
Exemplo
A execução do código acima deve resultar no seguinte resultado:
import numpy as np
import matplotlib.pyplot as plt
dados = [[5., 25., 50., 20.],
[4., 23., 51., 17.],
[6., 22., 52., 19.]]
X = np.arange(4)
plt.bar(X + 0.00, dados[0], color = 'r', width = 0.25)
plt.bar(X + 0.25, dados[1], color = 'g', width = 0.25)
plt.bar(X + 0.50, dados[2], color = 'b', width = 0.25)
plt.show()
import matplotlib.pyplot as plt
dados = [[5., 25., 50., 20.],
[4., 23., 51., 17.],
[6., 22., 52., 19.]]
X = np.arange(4)
plt.bar(X + 0.00, dados[0], color = 'r', width = 0.25)
plt.bar(X + 0.25, dados[1], color = 'g', width = 0.25)
plt.bar(X + 0.50, dados[2], color = 'b', width = 0.25)
plt.show()
Empilhando barras
Com a função bar também podemos criar gráficos com barras sobre barras. Para definir qual barra estará embaixo da outra utilizamos o parâmetro bottom.
Exemplo
O resultado desse exemplo é um gráfico com com quatro barras, cada uma com três barras empilhadas:
import numpy as np
import matplotlib.pyplot as plt
a = np.array([5., 30., 45., 22.])
b = np.array([5., 25., 50., 20.])
c = np.array([1., 2., 1., 1.])
x = np.arange(4)
plt.bar(x, a, color = 'b')
plt.bar(x, b, color = 'g', bottom = a)
plt.bar(x, c, color = 'r', bottom = a + b)
plt.show()
import matplotlib.pyplot as plt
a = np.array([5., 30., 45., 22.])
b = np.array([5., 25., 50., 20.])
c = np.array([1., 2., 1., 1.])
x = np.arange(4)
plt.bar(x, a, color = 'b')
plt.bar(x, b, color = 'g', bottom = a)
plt.bar(x, c, color = 'r', bottom = a + b)
plt.show()
Fica fácil compreender o exemplo se você notar que começamos desenhando as barras de baixo. E conforme vamos adicionando barras indicamos quais barras estão abaixo.
Barras verticais
Utilizar barras verticais, uma do lado da outra, pode ser útil para demostrar o mesmo dado com grupos diferentes de indivíduos. Por exemplo, o numero de nascimentos de meninos e meninas. E é possível fazer esse tipo de gráfico com a biblioteca matplotlib.
Exemplo
Veja como é simples criar barras verticais uma “sobre” a outra: nesse exemplo mudamos apenas o sinal de um dos valores. E o resultado é esse:
import numpy as np
import matplotlib.pyplot as plt
meninas = np.array([5., 30., 45., 22.])
meninos = np.array([5., 25., 50., 20.])
X = np.arange(4)
plt.barh(X, meninas, color = 'r')
plt.barh(X, -meninos, color = 'b')
plt.show()
import matplotlib.pyplot as plt
meninas = np.array([5., 30., 45., 22.])
meninos = np.array([5., 25., 50., 20.])
X = np.arange(4)
plt.barh(X, meninas, color = 'r')
plt.barh(X, -meninos, color = 'b')
plt.show()
Assim usamos o conhecimento das matrizes da biblioteca numpy ao nosso favor. Em vez de mudar todos os valores da matriz, um por um, podemos fazer isso de uma vez só.
0 comentários:
Postar um comentário