Barras com cores personalizadas
Os gráficos com barras talvez seja o tipo de gráfico mais conhecido. Sendo muito utilizado em apresentações e sites na internet. Principalmente para representar o aumento ou diminuição de algum dado. Ou simplesmente comparar dados. O que é mais fácil com gráficos com barras de cores diferentes. E é isso que vamos fazer agora.
Como personalizar a cor das barras do matplotlib
A escolha da cor das barras do matplotlib é feita passando a cor desejada para o parâmetro color. O valor da cor pode ser passado com três cores, quatro cores, nomes definidos ou em níveis de cinza. Assim como nos exemplos anteriores.
Exemplo
O resultado do código acima deve ser o gráfico abaixo, com barras na vertical vermelhas e azuis:
import matplotlib.pyplot as plt
from numpy import arange, array
x = arange(4)
nascimento_meninos = array([15, 16, 18, 17])
nascimento_meninas = array([14, 19, 18, 15])
plt.barh(x, nascimento_meninos, color = (.0, .40, 1.))
plt.barh(x, -nascimento_meninas, color = (1.0, .0, .40))
plt.show()
from numpy import arange, array
x = arange(4)
nascimento_meninos = array([15, 16, 18, 17])
nascimento_meninas = array([14, 19, 18, 15])
plt.barh(x, nascimento_meninos, color = (.0, .40, 1.))
plt.barh(x, -nascimento_meninas, color = (1.0, .0, .40))
plt.show()
Como funciona...
Quando chamamos a função barh, passamos para o parâmetro color uma tupla com três valores (cores RGB), cada um referente às cores vermelho, verde e azul, respectivamente.É importante notar que os valores das cores variam de 0 até 1. É como fazer uma receita. Para criar um vermelho mais para o rosa, se usa três ingredientes: vermelho, verde (nada) e um pouquinho de azul.
Tem mais...
Também podemos passar uma lista de cores para o parâmetro color.
Exemplo
Nesse exemplo, passamos para o parâmetro color uma lista de strings com os valores em níveis de cinza.
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(4)
y = np.random.randn(4)
nivel_cinza = ['.25', '.50', '.75', '.90']
plt.bar(x, y, color = nivel_cinza)
plt.show()
import numpy as np
x = np.arange(4)
y = np.random.randn(4)
nivel_cinza = ['.25', '.50', '.75', '.90']
plt.bar(x, y, color = nivel_cinza)
plt.show()
É importante lembra que o número de cores deve coincidir com o número de barras.
0 comentários:
Postar um comentário