Curso matplotlib - Gráfico de barras verticais (Edição das barras)
Espessura da barra
Para alterar a espessura das barras, é necessário passar o parâmetro width
. Este parâmetro pode receber um único valor (float
ou int
) ou uma list
contendo os valores especificados de espessura para cada coluna (o valor padrão é 0.8
).
Por exemplo, para alterar a espessura de cada barra para 0.5
:
plt.figure(figsize=(8,6))
plt.bar(frutas, precos, width = 0.5)
plt.show()
Figura 1 - Gráfico de barras verticais com barras mais finas (que o padrão).
Para alterar a espessura das barras individualmente, basta passar uma list
da seguinte forma:
espessuras = [0.5, 1.0, 0.8, 0.3, 0.2]
plt.figure(figsize=(8,6))
plt.bar(frutas, precos, width=espessuras)
plt.show()
Figura 2 - Gráfico de barras verticais com barras de espessura variada.
Alinhamento das barras
Podemos alterar o alinhamento das barras, ou seja, a posição em relação ao tick de cada barra, o que é feito através do parâmetro align
. Este parâmetro recebe uma str
que pode ser:
'center'
: alinha de acordo com as posições dex
(padrão);
ou
'edge'
: alinha aos limites esquerdos em relação as posiçõesx
;
Por exemplo:
espessuras = [0.5, .7, 0.8, 0.3, 0.2]
plt.figure(figsize=(8,6))
plt.bar(frutas, precos, width=espessuras, align='edge')
plt.show()
Figura 3 - Gráfico de barras verticais com alinhamento à direita.
Para alinhar à esquerda, basta passar um valor negativo para o parâmetro width
. Por exemplo:
espessuras = [0.5, .7, 0.8, 0.3, -0.2]
plt.figure(figsize=(8,6))
plt.bar(frutas, precos, width=espessuras, align='edge')
plt.show()
Figura 4 - Gráfico de barras verticais com o último elemento alinhado à esquerda.
Observe que a última barra ('Mamão Formosa'
) ficou alinhada à esquerda do tick, enquanto que as demais colunas seguem à direita do tick.
Posição inicial da barra em relação ao eixo y
Podemos alterar a posição onde a barra começa no eixo y
através do parâmetro bottom
, que recebe um número (int
ou float
) ou uma sequência (list
, tuple
, ndarray
, etc).
Por exemplo, para alterar todas as barras igualmente, iniciando em 2
:
espessuras = [0.5, .7, 0.8, 0.3, -0.2]
plt.figure(figsize=(8,6))
plt.bar(frutas, precos, width=espessuras, align='edge', bottom=2)
plt.show()
Figura 5 - Gráfico de barras verticais com o as barras iniciando em y = 2
.
Para alterar a posição de início de cada barra individualmente precisamos passar uma list
contendo os valores desejados. Por exemplo:
espessuras = [0.5, .7, 0.8, 0.3, -0.2]
inicio = [0, 1, 2, 3, 4,]
plt.figure(figsize=(8,6))
plt.bar(frutas, precos, width=espessuras, align='edge', bottom=inicio)
plt.show()
Figura 6 - Gráfico de barras verticais com o as barras iniciando em posições variadas de y
.