Curso matplotlib - Gráfico de barras horizontais (edição das barras)
Altura da barra
Para alterar a altura da barra, utilizamos o parâmetro height
de forma similar ao parâmetro width
do plt.bar()
. Na prática, o parâmetro height
no plt.barh()
altera a espessura da barra, mas em relação ao eixo y
.
Por exemplo, para deixar todas as barras horizontais com uma altura igual de 0.2
, basta:
plt.figure(figsize=(8,6))
plt.barh(frutas, precos, height=0.2)
plt.show()
Figura 1 - Gráfico de barras horizontais com barras com altura diferente do padrão.
Para deixar as barras horizontais com uma altura variada, basta passar uma list
contendo números (float
ou int
) com o valor desejado para cada barra. Por exemplo:
altura_barras = [0.2, 0.3, 0.4, 0.5, 0.6]
plt.figure(figsize=(8,6))
plt.barh(frutas, precos, height=altura_barras)
plt.show()
Figura 2 - Gráfico de barras horizontais com barras com altura variada.
Posição inicial da barra
O parâmetro left
determina a posição inicial da barra no eixo x
. Ele recebe um número (float
ou int
) ou uma sequência de números indicando a posição em que a barra começar a ser preenchida (padrão left = 0
). O left
é o parâmetro análogo ao bottom
de plt.bar()
.
Exemplo:
altura_barras = [0.2, 0.3, 0.4, 0.5, 0.6]
plt.figure(figsize=(8,6))
plt.barh(frutas, precos, height=altura_barras, left = 10)
plt.show()
Figura 3 - Gráfico de barras horizontais com barras com posição inicial deslocada.
Também é possível variar a posição de início para cada barra, passando uma list
com uma sequência contendo números (int
ou float
) que determinam a posição inicial de cada barra. Por exemplo:
altura_barras = [0.2, 0.3, 0.4, 0.5, 0.6]
posicao_left = [1, 2, 3, 4, 5]
plt.figure(figsize=(8,6))
plt.barh(frutas, precos, height=altura_barras, left = posicao_left)
plt.show()
Figura 4 - Gráfico de barras horizontais com barras com posição inicial deslocada individualmente.
Alinhamento
Para ajustar a posição de alinhamento da barra no plt.barh()
utilizamos o parâmetro align
de forma similar ao align
de plt.bar()
. Este parâmetro recebe uma string
com as opções center
(padrão) ou edge
, que irá posicionar a barra para cima.
Exemplo:
altura_barras = [0.2, 0.3, 0.4, 0.5, 0.6]
plt.figure(figsize=(8,6))
plt.barh(frutas, precos, height=altura_barras, align='edge')
plt.show()
Figura 5 - Gráfico de barras horizontais com barras com alinhamento alterado.
Para colocar a barra abaixo, basta passar um valor negativo para a altura das barras (height
).
Exemplo:
altura_barras = [0.2, 0.3, 0.4, -0.5, -0.6]
plt.figure(figsize=(8,6))
plt.barh(frutas, precos, height=altura_barras, align='edge')
plt.show()
Figura 6 - Gráfico de barras horizontais com barras com alinhamento alterado.
Outros parâmetros
Os demais parâmetros, como color
, edgecolor
, linewidth
, yerr
, xerr
, capsize
, etc, tem funcionamento idêntico ao visto em plt.bar()
.