Curso matplotlib - Gráfico de barras horizontais (edição das barras)

2 minute read


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.

gráfico de barras horizontais desenhado com o matplotlib.


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.

gráfico de barras horizontais desenhado com o matplotlib.


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.

gráfico de barras horizontais desenhado com o matplotlib.


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.

gráfico de barras horizontais desenhado com o matplotlib.


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.

gráfico de barras horizontais desenhado com o matplotlib.


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.

gráfico de barras horizontais desenhado com o **matplotlib**.


Outros parâmetros

Os demais parâmetros, como color, edgecolor, linewidth, yerr, xerr, capsize, etc, tem funcionamento idêntico ao visto em plt.bar().


Qual é o parâmetro de plt.barh() que tem comportamento similar ao parâmetro width de plt.bar()?

heigth

size

left

align


Anterior Próximo

Updated: