Horizontal Gráficos de Barrassão ideais para exibir dados de classificação, nomes de categorias longos ou métricas de progresso. Ao estender as barras ao longo do eixo X, essa estrutura visual oferece bastante espaço horizontal para os rótulos das categorias, eliminando a necessidade de inclinar ou truncar o texto. Seja você construindo tabelas de classificação dos 10 principais, análises de respostas de pesquisas ou comparações de desempenho horizontais, os gráficos de barras garantem legibilidade clara em telas de desktop e móveis.
Os Mecanismos das Barras Horizontais
No Apache ECharts, gráficos de colunas e gráficos de barras usam exatamente o mesmo 'bar' tipo de série. A transição para uma disposição horizontal ocorre ao atribuir os dados da categoria diretamente ao eixo vertical (yAxis) e definindo o eixo horizontal (xAxis) como um eixo de valor numérico. O motor do gráfico gira a direção de renderização, desenhando as barras horizontalmente da esquerda para a direita.
1. Configuração Básica
Para criar um gráfico de barras horizontal básico, defina type: 'category' no yAxis e forneça seu array de dados, enquanto define type: 'value' no xAxis:
option = {
tooltip: {
trigger: 'axis',
axisPointer: { type: 'shadow' }
},
xAxis: {
type: 'value'
},
yAxis: {
type: 'category',
data: ['Brasil', 'Indonésia', 'EUA', 'Índia', 'China']
},
series: [
{
type: 'bar',
data: [214, 273, 331, 1380, 1411]
}
]
}; 
Técnicas Estruturais Avançadas
Gráficos de barras horizontais suportam múltiplos grupos de dados, realce direcionado e tratamentos personalizados de cantos para designs modernos de painéis.
1. Comparação Horizontal de Múltiplas Séries
Coloque múltiplos objetos no série array para criar barras horizontais agrupadas por rótulo de categoria:
opcao = {
legenda: {
dados: ['Meta 2025', 'Real 2025']
},
eixoX: {
tipo: 'valor'
},
eixoY: {
tipo: 'categoria',
dados: ['Projeto A', 'Projeto B', 'Projeto C', 'Projeto D']
},
série: [
{
nome: 'Meta 2025',
tipo: 'barra',
dados: [80, 95, 70, 85]
},
{
nome: 'Real 2025',
tipo: 'barra',
dados: [85, 90, 75, 92]
}
]
}; 
2. Pontas arredondadas e estilização de destaque
Aplicar cantos direitos arredondados usando borderRadius nas barras horizontais (especificando [superior-direito, inferior-direito, inferior-esquerdo, superior-esquerdo]):
opcao = {
eixoX: {
tipo: 'valor'
},
eixoY: {
tipo: 'categoria',
dados: ['Pesquisa Direta', 'Campanhas de E-mail', 'Mídias Sociais', 'Pesquisa Paga']
},
série: [
{
tipo: 'barra',
dados: [
120,
200,
{
valor: 450,
estiloItem: {
cor: '#fac858'
}
},
280
],
estiloItem: {
cor: '#91cc75',
borderRadius: [0, 6, 6, 0] // Arredondar apenas as pontas direitas
}
}
]
}; 
Ajuste fino do layout e espaçamento
Como os rótulos de categoria horizontais variam em comprimento de texto, ajustar as margens esquerdas e a alinhamento dos rótulos evita o corte dos rótulos.
1. Margens da grade do contêiner
Use o bloco de configuração grid para alocar espaço suficiente para rótulos longos do eixo Y:
opcao = {
grade: {
esquerda: '15%', // Aumentar a margem esquerda para texto longo de categoria
direita: '8%',
inferior: '10%',
contemRótulo: true
},
eixoX: {
tipo: 'valor'
},
eixoY: {
tipo: 'categoria',
dados: [
'Modernização da Infraestrutura Empresarial',
'Migração para a Nuvem Fase 2',
'Otimização do Banco de Dados',
'Reconstrução do Gateway de API'
]
},
série: [
{
tipo: 'barra',
dados: [75, 60, 90, 40],
larguraBarra: '50%'
}
]
}; 
Práticas recomendadas estratégicas
- Organize os dados intencionalmente: Organize as barras horizontais em ordem crescente ou decrescente sempre que possível. Listas classificadas tornam os melhores desempenhos imediatamente óbvios para os leitores.
- Use
containLabel: true: Sempre incluacontainLabel: truedentro dogradeconfiguração para evitar que títulos longos de categorias transbordem da borda da tela. - Rótulos de Valor Direto: Para classificações limpas, considere exibir os valores de dados diretamente na extremidade de cada barra usando
label: { show: true, position: 'right' }e ocultando completamente o eixo numérico inferior.