Angular Google Charts - Guia rápido

Google Chartsé uma biblioteca de gráficos baseada em JavaScript puro destinada a aprimorar aplicativos da web, adicionando recursos de gráficos interativos. Ele oferece suporte a uma ampla variedade de gráficos. Os gráficos são desenhados usando SVG em navegadores padrão como Chrome, Firefox, Safari, Internet Explorer (IE). No legado do IE 6, VML é usado para desenhar os gráficos.

angular-google-chartsé um wrapper de código aberto baseado em angular para Google Charts que fornece visualizações de Google Charts elegantes e ricas em recursos em um aplicativo Angular e pode ser usado com componentes Angular perfeitamente. Existem capítulos que discutem todos os componentes básicos do Google Charts com exemplos adequados em um aplicativo Angular.

Características

A seguir estão os principais recursos da biblioteca de gráficos do Google.

  • Compatability - Funciona perfeitamente em todos os principais navegadores e plataformas móveis, como Android e iOS.

  • Multitouch Support- Suporta multitoque em plataformas baseadas em tela de toque, como Android e iOS. Ideal para smartphones / tablets baseados em iPhone / iPad e Android.

  • Free to Use - Código aberto e gratuito para uso não comercial.

  • Lightweight - biblioteca principal loader.js, é uma biblioteca extremamente leve.

  • Simple Configurations - Usa json para definir várias configurações de gráficos e muito fácil de aprender e usar.

  • Dynamic - Permite modificar o gráfico mesmo após a geração do gráfico.

  • Multiple axes- Não restrito ao eixo x, y. Suporta vários eixos nos gráficos.

  • Configurable tooltips- A dica de ferramenta surge quando um usuário passa o mouse sobre qualquer ponto em um gráfico. googlecharts fornece um formatador integrado de dica de ferramenta ou formatador de retorno de chamada para controlar a dica de forma programática.

  • DateTime support- Lidar com data e hora especialmente. Fornece vários controles embutidos sobre categorias de datas sábias.

  • Print - Imprimir gráfico usando a página da web.

  • External data- Suporta o carregamento de dados dinamicamente do servidor. Fornece controle sobre os dados usando funções de retorno de chamada.

  • Text Rotation - Suporta rotação de etiquetas em qualquer direção.

Tipos de gráficos suportados

A biblioteca de gráficos do Google oferece os seguintes tipos de gráficos:

Sr. Não. Tipo / descrição do gráfico
1

Line Charts

Usado para desenhar gráficos baseados em linhas / splines.

2

Area Charts

Usado para desenhar gráficos de área.

3

Pie Charts

Usado para desenhar gráficos de pizza.

4

Sankey Charts, Scatter Charts, Stepped area charts, Table, Timelines, TreeMap, Trendlines

Usado para desenhar gráficos dispersos.

5

Bubble Charts

Usado para desenhar gráficos baseados em bolhas.

6

Dynamic Charts

Usado para desenhar gráficos dinâmicos onde o usuário pode modificar os gráficos.

7

Combinations

Usado para desenhar combinações de vários gráficos.

8

3D Charts

Usado para desenhar gráficos 3D.

9

Angular Gauges

Usado para desenhar gráficos do tipo velocímetro.

10

Heat Maps

Usado para desenhar mapas de calor.

11

Tree Maps

Usado para desenhar mapas de árvores.

Nos próximos capítulos, discutiremos cada tipo de gráfico mencionado acima em detalhes com exemplos.

Licença

O Google Charts é de código aberto e de uso gratuito. Siga o link - Termos de Serviço .

Este tutorial irá guiá-lo sobre como preparar um ambiente de desenvolvimento para iniciar seu trabalho com Google Charts e Angular Framework. Neste capítulo, discutiremos a configuração do ambiente necessária para o Angular 6. Para instalar o Angular 6, precisamos do seguinte -

  • Nodejs
  • Npm
  • CLI Angular
  • IDE para escrever seu código

Nodejs deve ser maior que 8,11 e npm deve ser maior que 5,6.

Nodejs

Para verificar se nodejs está instalado em seu sistema, digite node -vno terminal. Isso o ajudará a ver a versão do nodejs atualmente instalado em seu sistema.

C:\>node -v
v8.11.3

Se não imprimir nada, instale nodejs em seu sistema. Para instalar o nodejs, vá a página inicialhttps://nodejs.org/en/download/ de nodejs e instale o pacote com base em seu sistema operacional.

Com base no seu sistema operacional, instale o pacote necessário. Assim que o nodejs for instalado, o npm também será instalado junto com ele. Para verificar se o npm está instalado ou não, digite npm -v no terminal. Ele deve exibir a versão do npm.

C:\>npm -v
5.6.0

As instalações do Angular 6 são muito simples com a ajuda do angular CLI. Visite a homepagehttps://cli.angular.io/ de angular para obter a referência do comando.

Tipo npm install -g @angular/cli, para instalar o angular cli em seu sistema.

Você obterá a instalação acima em seu terminal, assim que o Angular CLI for instalado. Você pode usar qualquer IDE de sua escolha, ou seja, WebStorm, Atom, Visual Studio Code, etc.

Instalar Google Charts Wrapper

Execute o seguinte comando para instalar o módulo Wrapper do Google Charts no projeto criado.

googleChartsApp> npm angular-google-charts

+ [email protected]
added 2 packages in 20.526s

Adicione a seguinte entrada no arquivo app.module.ts

import { GoogleChartsModule } from 'angular-google-charts';

imports: [
   ...
   GoogleChartsModule
],

Neste capítulo, mostraremos a configuração necessária para desenhar um gráfico usando a API de gráficos do Google no Angular.

Etapa 1 - Criar Aplicação Angular

Siga as etapas a seguir para atualizar o aplicativo Angular que criamos no Angular 6 - capítulo Configuração do projeto -

Degrau Descrição
1 Crie um projeto com o nome googleChartsApp conforme explicado no capítulo Angular 6 - Configuração do projeto .
2 Modifique app.module.ts , app.component.ts e app.component.html conforme explicado abaixo. Mantenha o resto dos arquivos inalterados.
3 Compile e execute o aplicativo para verificar o resultado da lógica implementada.

A seguir está o conteúdo do descritor do módulo modificado app.module.ts.

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { GoogleChartsModule } from 'angular-google-charts';
@NgModule({
   declarations: [
      AppComponent   
   ],
   imports: [
      BrowserModule,GoogleChartsModule
   ],
   providers: [], bootstrap: [AppComponent]
})
export class AppModule { }

A seguir está o conteúdo do arquivo host HTML modificado app.component.html.

<google-chart #chart
   [title]="title"
   [type]="type"
   [data]="data"
   [columnNames]="columnNames"
   [options]="options"
   [width]="width"
   [height]="height">
</google-chart>

Veremos o app.component.ts atualizado no final, após entender as configurações.

Etapa 2 - Configurações de uso

Definir Título

title = 'Browser market shares at a specific website, 2014';

Definir tipo de gráfico

type='PieChart';

dados

Configure os dados a serem exibidos no gráfico.

data = [
   ['Firefox', 45.0],
   ['IE', 26.8],
   ['Chrome', 12.8],
   ['Safari', 8.5],
   ['Opera', 6.2],
   ['Others', 0.7] 
];

nomes de coluna

Configure os nomes das colunas a serem exibidos.

columnNames = ['Browser', 'Percentage'];

opções

Configure as outras opções.

options = {
   colors: ['#e0440e', '#e6693e', '#ec8f6e', '#f3b49f', '#f6c7b6'], is3D: true
};

Exemplo

Considere o seguinte exemplo para entender melhor a sintaxe de configuração -

app.component.ts

import { Component } from '@angular/core';
@Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.css']
})
export class AppComponent {
   title = 'Browser market shares at a specific website, 2014';
   type = 'PieChart';
   data = [
      ['Firefox', 45.0],
      ['IE', 26.8],
      ['Chrome', 12.8],
      ['Safari', 8.5],
      ['Opera', 6.2],
      ['Others', 0.7] 
   ];
   columnNames = ['Browser', 'Percentage'];
   options = {    
   };
   width = 550;
   height = 400;
}

Resultado

Verifique o resultado.

Os gráficos de área são usados ​​para desenhar gráficos baseados em área. Nesta seção, vamos discutir os seguintes tipos de gráficos baseados em área.

Sr. Não Tipo / descrição do gráfico
1 Área Básica

Gráfico de área básico

2 Área com valores negativos

Gráfico de área com valores negativos.

3 Área empilhada

Gráfico com áreas empilhadas umas sobre as outras.

4 Área com pontos faltando

Gráfico com pontos ausentes nos dados.

Os gráficos de barras são usados ​​para desenhar gráficos baseados em barras. Nesta seção, discutiremos os seguintes tipos de gráficos baseados em barras.

Sr. Não Tipo / descrição do gráfico
1 Barra Básica

Gráfico de barras básico

2 Gráfico de Barras Agrupadas

Gráfico de barras agrupadas.

3 Barra Empilhada

Gráfico de barras com barras empilhadas umas sobre as outras.

4 Barra Negativa

Gráfico de barras com pilha negativa.

Os gráficos de bolhas são usados ​​para desenhar gráficos baseados em bolhas. Nesta seção, discutiremos os seguintes tipos de gráficos baseados em bolhas.

Sr. Não Tipo / descrição do gráfico
1 Bolha Básica

Gráfico de bolhas básico.

2 Gráfico de bolhas com rótulos de dados

Gráfico de bolhas com rótulos de dados.

Os gráficos candlestick são usados ​​para mostrar o valor de abertura e fechamento sobre uma variação de valor e normalmente são usados ​​para representar ações. Nesta seção, vamos discutir os seguintes tipos de gráficos baseados em velas.

Sr. Não Tipo / descrição do gráfico
1 Castiçal Básico

Gráfico de velas básico.

2 Castiçal com cores personalizadas

Gráfico de velas personalizado.

Os gráficos de colunas são usados ​​para desenhar gráficos baseados em colunas. Nesta seção, discutiremos os seguintes tipos de gráficos baseados em colunas.

Sr. Não Tipo / descrição do gráfico
1 Coluna Básica

Gráfico de coluna básico

2 Gráfico de colunas agrupadas

Gráfico Colummn agrupado.

3 Coluna Empilhada

Gráfico de colunas com colunas empilhadas umas sobre as outras.

4 Coluna Empilhada Negativa

Gráfico de colunas com pilha negativa.

O gráfico de combinação ajuda a renderizar cada série como um tipo de marcador diferente da lista a seguir: linha, área, barras, velas e área escalonada. Para atribuir um tipo de marcador padrão para a série, use a propriedade seriesType. A propriedade da série deve ser usada para especificar as propriedades de cada série individualmente. A seguir está um exemplo de um Gráfico de colunas mostrando diferenças.

Já vimos as configurações usadas para desenhar um gráfico no capítulo Google Charts Configuration Syntax . Agora, vamos ver um exemplo de um Gráfico de colunas mostrando diferenças.

Configurações

Nós usamos ComboChart classe para mostrar um gráfico de combinação.

type='ComboChart';

Exemplo

app.component.ts

import { Component } from '@angular/core';
@Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.css']
})
export class AppComponent {
   title = 'Fruits distribution';
   type = 'ComboChart';
   data = [
      ["Apples", 3, 2, 2.5],
      ["Oranges",2, 3, 2.5],
      ["Pears", 1, 5, 3],
      ["Bananas", 3, 9, 6],
      ["Plums", 4, 2, 3]
   ];
   columnNames = ['Fruits', 'Jane','Jone','Average'];
   options = {   
      hAxis: {
         title: 'Person'
      },
      vAxis:{
         title: 'Fruits'
      },
      seriesType: 'bars',
      series: {2: {type: 'line'}}
   };
   width = 550;
   height = 400;
}

Resultado

Verifique o resultado.

Um histograma é um gráfico que agrupa dados numéricos em grupos, exibindo os grupos como colunas segmentadas. Eles são usados ​​para representar a distribuição de um conjunto de dados e a frequência com que os valores se enquadram em intervalos. O Google Charts escolhe automaticamente o número de baldes para você. Todos os baldes têm a mesma largura e altura proporcional ao número de pontos de dados no balde. Os histogramas são semelhantes aos gráficos de colunas em outros aspectos. Nesta seção, vamos discutir os seguintes tipos de gráficos baseados em histograma.

Sr. Não Tipo / descrição do gráfico
1 Histograma Básico

Gráfico de histograma básico.

2 Cor de controle

Cor personalizada da carta do histrograma.

3 Controlando Buckets

Baldes personalizados da carta do histrograma.

4 Multiple Series

Gráfico de histrograma com várias séries.

Os gráficos de linha são usados ​​para desenhar gráficos baseados em linha. Nesta seção, discutiremos os seguintes tipos de gráficos baseados em linha.

Sr. Não Tipo / descrição do gráfico
1 Linha básica

Gráfico de linha básico.

2 Com pontos visíveis

Gráfico com pontos de dados visíveis.

3 Cor de fundo personalizável

Gráfico com cor de fundo personalizada.

4 Cor de linha personalizável

Gráfico com cor de linha personalizada.

5 Rótulos personalizáveis ​​de eixo e escala

Gráfico com rótulos personalizados de eixo e escala.

6 Crosshairs

Gráficos de linha mostrando retículos no ponto de dados na seleção.

7 Estilo de linha personalizável

Gráfico com cor de linha personalizada.

8 Gráficos de linha com linhas curvas

Gráfico com linhas curvas suaves.

Um gráfico do Google Maps usa a API do Google Maps para exibir o mapa. Os valores dos dados são exibidos como marcadores no mapa. Os valores dos dados podem ser coordenadas (pares latitude-long) ou endereços reais. O mapa será dimensionado de forma adequada para incluir todos os pontos identificados.

Sr. Não Tipo / descrição do gráfico
1 Mapa Básico

Mapa básico do Google.

2 Mapa usando Latitude / Longitude

Mapa com localizações especificadas usando Latitude e Longitude.

A seguir está um exemplo de um organograma.

O organograma ajuda a renderizar uma hierarquia de nós, usado para retratar relacionamentos superiores / subordinados em uma organização. Por exemplo, uma árvore genealógica é um tipo de organograma. Já vimos as configurações usadas para desenhar um gráfico no capítulo Google Charts Configuration Syntax . Agora, vamos ver um exemplo de organograma.

Configurações

Nós usamos OrgChart classe para mostrar um organograma.

type='OrgChart';

Exemplo

app.component.ts

import { Component } from '@angular/core';
@Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.css']
})
export class AppComponent {
   title = '';
   type = 'OrgChart';
   data = [
      [{v:'Mike', f:'Mike<div style="color:red; font-style:italic">President</div>'},
         '', 'The President'],
      [{v:'Jim', f:'Jim<div style="color:red; font-style:italic">Vice President</div>'},
         'Mike', 'VP'],
      ['Alice', 'Mike', ''],
      ['Bob', 'Jim', 'Bob Sponge'],
      ['Carol', 'Bob', '']
   ];
   columnNames = ["Name","Manager","Tooltip"];
   options = {   
      allowHtml: true
   };
   width = 550;
   height = 400;
}

Resultado

Verifique o resultado.

Os gráficos de pizza são usados ​​para desenhar gráficos de pizza. Nesta seção, discutiremos os seguintes tipos de gráficos de pizza.

Sr. Não Tipo / descrição do gráfico
1 Torta Básica

Gráfico de pizza básico.

2 Donut Chart

Gráfico Donut.

3 Gráfico circular 3D

Gráfico de pizza 3D.

4 Gráfico de pizza com fatias explodidas

Gráfico de pizza com fatias explodidas.

Um gráfico sankey é uma ferramenta de visualização e é usado para representar um fluxo de um conjunto de valores para outro. Os objetos conectados são chamados de nós e as conexões são chamadas de links. Sankeys são usados ​​para mostrar um mapeamento muitos para muitos entre dois domínios ou caminhos múltiplos através de um conjunto de estágios.

Sr. Não Tipo / descrição do gráfico
1 Gráfico básico de Sankey

Gráfico básico de Sankey.

2 Gráfico Sankey multinível

Gráfico de Sankey multinível.

3 Customizing Sankey Chart

Gráfico de Sankey personalizado.

A seguir está um exemplo de gráfico de dispersão.

Já vimos as configurações usadas para desenhar um gráfico no capítulo Google Charts Configuration Syntax . Agora, vamos ver um exemplo de um gráfico de dispersão.

Configurações

Nós usamos ScatterChart classe para mostrar um gráfico de dispersão.

type = 'ScatterChart';

Exemplo

app.component.ts

import { Component } from '@angular/core';
@Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.css']
})
export class AppComponent {
   title = 'Age vs Weight';
   type='ScatterChart';
   data = [
      [8,12],
      [4, 5.5],
      [11,14],
      [4,5],
      [3,3.5],
      [6.5,7]
   ];
   columnNames = ['Age', 'Weight'];
   options = {   
   };
   width = 550;
   height = 400;
}

Resultado

Verifique o resultado.

Um gráfico de área em etapas é um gráfico de área com base em etapas. Vamos discutir os seguintes tipos de gráficos de área escalonados.

Sr. Não Tipo / descrição do gráfico
1 Gráfico escalonado básico

Gráfico de área escalonado básico.

2 Gráfico escalonado empilhado

Gráfico de área escalonada empilhada.

O gráfico de tabela ajuda a renderizar uma tabela que pode ser classificada e paginada. As células da tabela podem ser formatadas usando strings de formato ou inserindo HTML diretamente como valores de células. Os valores numéricos são alinhados à direita por padrão; Os valores booleanos são exibidos como marcas de verificação ou cruzadas. Os usuários podem selecionar linhas únicas com o teclado ou o mouse. Os cabeçalhos das colunas podem ser usados ​​para classificação. A linha do cabeçalho permanece fixa durante a rolagem. A tabela dispara eventos correspondentes à interação do usuário.

Já vimos as configurações usadas para desenhar um gráfico no capítulo Google Charts Configuration Syntax . Agora, vamos ver um exemplo de um gráfico de tabela.

Configurações

Nós usamos Table classe para mostrar um gráfico de tabela.

type = 'Table';

Exemplo

app.component.ts

import { Component } from '@angular/core';
@Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.css']
})
export class AppComponent {
   title = "";
   type = 'Table';
   data = [
      ['Mike',  {v: 10000, f: '$10,000'}, true],
      ['Jim',   {v:8000,   f: '$8,000'},  false],
      ['Alice', {v: 12500, f: '$12,500'}, true],
      ['Bob',   {v: 7000,  f: '$7,000'},  true]
   ];
   columnNames = ["Name", "Salary","Full Time Employee"];
   options = { 
     alternatingRowStyle:true,
     showRowNumber:true  
   };
   width = 550;
   height = 400;
}

Resultado

Verifique o resultado.

TreeMap é uma representação visual de uma árvore de dados, onde cada nó pode ter zero ou mais filhos e um pai (exceto para a raiz). Cada nó é exibido como um retângulo, pode ser dimensionado e colorido de acordo com os valores que atribuímos. Os tamanhos e cores são avaliados em relação a todos os outros nós do gráfico. A seguir está um exemplo de um gráfico de mapa de árvore.

Já vimos as configurações usadas para desenhar um gráfico no capítulo Google Charts Configuration Syntax . Agora, vamos ver um exemplo de um gráfico TreeMap.

Configurações

Nós usamos TreeMap classe para mostrar um gráfico TreeMap.

type = 'TreeMap';

Exemplo

app.component.ts

import { Component } from '@angular/core';
@Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.css']
})
export class AppComponent {
   title = '';
   type='TreeMap';
   data = [
      ["Global",null,0,0],
      ["America","Global",0,0],
      ["Europe","Global",0,0],
      ["Asia","Global",0,0],
      ["Australia","Global",0,0],
      ["Africa","Global",0,0],

      ["USA","America",52,31],
      ["Mexico","America",24,12],
      ["Canada","America",16,-23],

      ["France","Europe",42,-11],
      ["Germany","Europe",31,-2],
      ["Sweden","Europe",22,-13],

      ["China","Asia",36,4],
      ["Japan","Asia",20,-12],
      ["India","Asia",40,63],

      ["Egypt","Africa",21,0],
      ["Congo","Africa",10,12],
      ["Zaire","Africa",8,10],
          
   ];
   columnNames = ["Location", "Parent","Market trade volume (size)","Market increase/decrease (color)"];
   options = { 
      minColor:"#ff7777",
      midColor:'#ffff77',
      maxColor:'#77ff77',
      headerHeight:15,
      showScale:true
   };
   width = 550;
   height = 400;
}

Resultado

Verifique o resultado.