Construindo gráficos com Angular 2 e ZingChart

Construindo gráficos com Angular 2 e ZingChart

Primeiramente, construir gráficos com Angular 2 e ZingChart é uma maneira poderosa e dinâmica de criar visualizações de dados interativas em aplicativos web. Essa combinação de tecnologias permite integrar gráficos sofisticados, adaptáveis e fáceis de manusear diretamente na interface de uma aplicação Angular, trazendo mais valor e funcionalidade. Neste artigo, vamos explorar como o Angular 2 e o ZingChart podem ser usados juntos para criar gráficos com aparência profissional, simplificando o processo e aumentando a qualidade da experiência do usuário.

Por que Escolher Angular 2 e ZingChart para Gráficos?

Antes de mais nada, entender o motivo da escolha pelo Angular 2 e ZingChart é essencial. O Angular 2 é uma versão do popular framework JavaScript da Google, famoso por sua estrutura robusta e orientada a componentes, ideal para construir aplicações modernas e reativas. O ZingChart, por sua vez, é uma biblioteca de gráficos altamente personalizável e com suporte a uma ampla variedade de tipos de gráficos, tornando-a perfeita para a visualização de dados complexos.

Além disso, o ZingChart se integra facilmente ao Angular, permitindo a criação de gráficos interativos com rapidez e eficiência. Ou seja, ao unir Angular 2 e ZingChart, obtemos uma combinação ideal para desenvolver aplicações ricas em visualização de dados, sem abrir mão da performance.

Instalação do Angular 2 e ZingChart

Configurando o Ambiente com Angular 2

Para começar, é necessário configurar o ambiente de desenvolvimento. Em primeiro lugar, certifique-se de ter o Node.js e o Angular CLI instalados. Com isso, você pode iniciar um novo projeto Angular 2 usando o comando:

node -v
ng version


ng new meu-projeto
cd meu-projeto

ng serve

Instalando o ZingChart

Com o projeto criado, o próximo passo é instalar o ZingChart. Para isso, você deve utilizar o seguinte comando npm:

npm install zingchart --save




Assim, a biblioteca estará pronta para ser usada dentro do seu projeto Angular.

Estrutura Básica de um Gráfico com ZingChart

Importando o ZingChart no Angular

Após a instalação, o ZingChart precisa ser importado para o seu componente Angular. Esse passo é essencial para habilitar a visualização dos gráficos.

import * as ZingChart from 'zingchart';




Essa importação permite acessar as funcionalidades do ZingChart e aplicá-las no componente que você deseja.

Criando o Primeiro Gráfico

A princípio, para renderizar um gráfico com o ZingChart no Angular, é necessário definir uma estrutura HTML e um script para exibir o gráfico. No HTML do componente, adicione uma div para o gráfico:

<div id="meuGrafico"></div>




Já no TypeScript, defina as configurações básicas do gráfico e inicialize-o:

import { Component, OnInit } from '@angular/core';
import * as ZingChart from 'zingchart';

@Component({
  selector: 'app-meu-grafico',
  templateUrl: './meu-grafico.component.html',
  styleUrls: ['./meu-grafico.component.css']
})
export class MeuGraficoComponent implements OnInit {
  ngOnInit(): void {
    ZingChart.render({
      id: 'meuGrafico',
      data: {
        type: 'bar', // Tipo do gráfico
        series: [
          { values: [10, 20, 30, 40, 50] }
        ]
      },
      height: 400,
      width: '100%'
    });
  }
}

Configurando Diferentes Tipos de Gráficos

Um dos principais atrativos ao construir gráficos com Angular 2 e ZingChart é a variedade de tipos de gráficos oferecida. Com o ZingChart, você pode criar gráficos de linhas, barras, pizza, radar, e muitos outros.

Gráficos de Linha

Os gráficos de linha são excelentes para acompanhar tendências ao longo do tempo. Basta alterar o tipo para “line” no código de configuração do gráfico:

type: 'line'




Gráficos de Pizza

Para exibir proporções, o gráfico de pizza é uma ótima escolha. Altere o tipo para “pie”:

type: 'pie'

Essas variações tornam o ZingChart uma ferramenta versátil ao lado do Angular 2, ideal para representar diferentes tipos de dados.

Personalizando o Estilo dos Gráficos

Uma das grandes vantagens de usar o ZingChart é a flexibilidade para personalização. Ou seja, é possível ajustar cores, fontes, tamanhos e até mesmo adicionar animações.

Alterando Cores e Estilos

Para ajustar a paleta de cores, adicione a propriedade plot no seu objeto de dados:

plot: {
  backgroundColor: '#2B5F75',
  borderColor: '#FFFFFF',
  borderWidth: 2
}

Essa personalização cria gráficos mais harmoniosos com o estilo visual da aplicação.

Adicionando Animações

ZingChart oferece uma série de animações que podem ser aplicadas nos gráficos, tornando-os mais dinâmicos:

plot: {
  animation: {
    effect: 2,
    method: 5,
    sequence: 3,
    speed: 3000
  }
}

Esses efeitos ajudam a captar a atenção do usuário e tornam a visualização de dados mais atraente.

Atualizando Dados em Tempo Real

A integração entre Angular 2 e ZingChart permite que os dados dos gráficos sejam atualizados em tempo real, essencial para aplicações que precisam exibir informações constantemente renovadas. Isso pode ser feito com a função zingchart.exec para atualizar dados sem recarregar o gráfico.

ZingChart.exec('meuGrafico', 'setseriesvalues', {
  values: [15, 25, 35, 45, 55]
});

Essa funcionalidade é especialmente útil em dashboards e sistemas de monitoramento de dados.

Interatividade com Eventos do ZingChart

ZingChart oferece uma ampla gama de eventos para tornar os gráficos interativos. Por exemplo, você pode detectar cliques em pontos específicos do gráfico e realizar ações personalizadas:

ZingChart.bind('meuGrafico', 'node_click', function (e) {
  alert('Você clicou no valor: ' + e.value);
});

Esses eventos tornam o gráfico mais envolvente, permitindo que o usuário interaja e explore os dados.

Implementando Gráficos Responsivos

A princípio, um requisito para gráficos modernos é a responsividade, que permite uma visualização adequada em dispositivos móveis e desktops. ZingChart facilita a adaptação com configurações automáticas de redimensionamento:


Essa configuração ajusta automaticamente o tamanho do gráfico de acordo com a tela, garantindo uma experiência de usuário agradável em qualquer dispositivo.

Explorando Outros Recursos Avançados do ZingChart

Além das funções básicas, o ZingChart oferece recursos avançados que podem ser explorados para criar gráficos mais completos, como:

  • Zoom e Panning: Permite que o usuário explore áreas específicas do gráfico.
  • Filtros e Agrupamentos: Ideais para grandes conjuntos de dados, simplificando a análise.
  • Drill-Down: Criação de gráficos interligados para visualizar dados detalhados.

Essas funcionalidades adicionam valor aos gráficos, aprimorando a experiência do usuário final.

Minhas Impressões Pessoais

Pessoalmente, considero a combinação de Angular 2 e ZingChart uma das mais práticas para quem busca construir gráficos ricos e interativos em aplicativos web. A integração do ZingChart ao Angular 2 é direta e altamente eficiente, além de oferecer uma personalização avançada com inúmeras possibilidades de adaptação e responsividade. O suporte a diversos tipos de gráficos, interatividade por eventos e atualização em tempo real tornam essa ferramenta uma escolha excepcional para visualização de dados.

Construindo gráficos com Angular 2 e ZingChart

Como posso integrar o ZingChart com o Angular 2?

Para integrar o ZingChart com o Angular 2, primeiro instale o ZingChart com o comando npm install zingchart –save, depois importe a biblioteca no seu componente com import * as ZingChart from ‘zingchart’. Com isso, você poderá criar e renderizar gráficos interativos diretamente na sua aplicação Angular.

Quais tipos de gráficos posso criar com o ZingChart?

O ZingChart oferece uma ampla gama de gráficos, como gráficos de linha, barras, pizza, radar, entre outros. Basta alterar a configuração do tipo no objeto de dados, por exemplo, para ‘line’, ‘bar’, ou ‘pie’.

É possível atualizar os gráficos em tempo real com o ZingChart?

Sim, é possível atualizar os gráficos em tempo real usando o método zingchart.exec, que permite alterar os dados exibidos no gráfico sem precisar recarregá-lo. Isso é ideal para dashboards e sistemas de monitoramento de dados.

Prof. Eduardo H Gomes
Prof. Eduardo H Gomes

Mestre em Engenharia da Informação, Especialista em Engenharia da Computação, Cientista da Computação, Professor de Inteligência Artificial, 18 anos de docência no Ensino Superior. Apaixonado por Surf, Paraglider, Mergulho livre, Tecnologia, SEO, Banco de Dados e Desenvolvimento Web.