Os dados na forma de linhas e colunas são chatos, e é difícil derivar percepções nessa forma. Adicione gráficos interativos a ele, e você faz mais fácil para que todos façam o sentido dele. Você começa a ver padrões que eram impossíveis de detectar, olhando apenas dados brutos. Mas como você adiciona gráficos interativos a seu Web site?
Bem, isso é o que este tutorial vai lhe ensinar. Neste post vou guiá-lo através do processo de criação de gráficos interativos em um dos mais populares frameworks JavaScript – AngularJS . Estaremos implementando gráficos através do pacote de gráficos JavaScript do FusionCharts . E para tornar nosso trabalho mais fácil, faremos uso de seu plugin de gráficos AngularJS .
AngularJS torna muito fácil criar aplicativos web modernos (após a curva de aprendizado inicial, é claro!). E o plugin de gráficos AngularJS do FusionCharts nos permitirá criar gráficos interativos com apenas uma única diretiva.
Com a introdução fora do caminho, vamos começar com o tutorial! Você também pode verificar a demo primeiro.
VER DEMO
Eu dividi este tutorial em 4 etapas:
- Definir as dependências
ng-fusioncharts
Módulo de injeção- Definir controlador para o aplicativo
- Render the FusionCharts ver mais
Etapa 1: Definir as dependências
Estes são os três arquivos JavaScript que precisamos incluir:
- AngularJS (1.x)
- Biblioteca JS do núcleo do FusionCharts
- FusionCharts ‘ AngularJS gráficos plugin
Veja como o seu HTML ficará depois desta etapa:
<head> <!-- AngularJS - Either include via CDN or download AngularJS and use local link --> <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.14/angular.min.js"></script> <!-- FusionCharts Core Library JavaScript File--> <script type="text/javascript" src="path/to/fusioncharts.js"></script> <!-- FusionCharts AngularJS Plugin JavaScript File--> <script type="text/javascript" src="path/to/angular-fusioncharts.min.js"></script> </head>
Etapa 2: ng-fusioncharts
Módulo de Injeção
O próximo passo é incluir ng-fusioncharts
como uma dependência no nosso aplicativo. Abaixo está o código para conseguir isso:
var app = angular.module('DemoApp', ['ng-fusioncharts']);
Passo 3: Definir controlador para a aplicação
No controlador da aplicação, aumentamos o escopo do controlador com a definição de gráfico do Fusioncharts:
app.controller('DemoController', function($scope) { //chart definition $scope.dataSource = '{"chart": { "caption":"Sales - 2014 v 2015", "numberPrefix":"$", "captionFontSize":"14", "subcaptionFontSize":"14", "baseFontColor":"#666666", "baseFont":"Helvetica Neue,Arial", "baseFontSize":"11", "subcaptionFontBold":"0", "canvasBgAlpha":"0", "showValues":"0", "paletteColors":"#10a9ea,#ebd00f", "bgColor":"#f6f6f6", "bgAlpha":"100", "showBorder":"0", "showShadow":"0", "showAlternateHGridColor":"0", "showXAxisLine":"1", "xAxisLineThickness":"1", "xAxisLineColor":"#cdcdcd", "xAxisNameFontColor":"#8d8d8d", "yAxisNameFontColor":"#8d8d8d", "canvasBgColor":"#ffffff", "lineThickness":"4", "anchorBgColor":"#ffffff", "legendBgColor":"#ffffff", "legendBgAlpha":"100", "legendBorderAlpha":"50", "legendBorderColor":"#888888", "divlineAlpha":"100", "divlineColor":"#999999", "divlineThickness":"1", "divLineIsDashed":"1", "divLineDashLen":"1", "divLineGapLen":"1", "toolTipColor":"#ffffff", "toolTipBorderColor":"#ffffff", "toolTipBorderThickness":"1", "toolTipBgColor":"#000000", "toolTipBgAlpha":"80", "toolTipBorderRadius":"4", "toolTipPadding":"10", "toolTipFontSize":"20", "anchorRadius":"5", "anchorBorderThickness":"3", "anchorTrackingRadius":"15", "showHoverEffect":"1" }, "categories":[ { "category":[ {"label":"Jan"}, {"label":"Feb"}, {"label":"Mar"}, {"label":"Apr"}, {"label":"May"}, {"label":"Jun"}, {"label":"Jul"}, {"label":"Aug"}, {"label":"Sep"}, {"label":"Oct"}, {"label":"Nov"}, {"label":"Dec"} ] }], "dataset":[ {"seriesname":"Bakersfield Central", "data":[ {"value":"12123"}, {"value":"8233"}, {"value":"25507"}, {"value":"9110"}, {"value":"13529"}, {"value":"8803"}, {"value":"19202"}, {"value":"13500"}, {"value":"16202"}, {"value":"19200"}, {"value":"9202"}, {"value":"11366"}] }, {"seriesname":"Los Angeles Topanga", "data":[ {"value":"13400"}, {"value":"9800"}, {"value":"22800"}, {"value":"12400"}, {"value":"15800"}, {"value":"9800"}, {"value":"21800"}, {"value":"9310"}, {"value":"12362"}, {"value":"17230"}, {"value":"10202"}, {"value":"12366"}] } ]}'; });
Etapa 4: Render o FusionCharts View
Agora adicione a seguinte marcação ao seu HTML para renderizar o FusionCharts:
<div ng-controller="DemoController"> <fusioncharts id="mychartcontainer" chartid="mychart" width="650" height="400" type="msspline" dataFormat= 'json', dataSource="{{dataSource}}" config="{{chartoptions}}"> </fusioncharts> <!-- dataSource is data used by FusionCharts to render the chart and is declared above using $scope --> </div>
Se você tiver seguido acima etapas corretamente e não alterado em qualquer coisa, você deve ver um gráfico de trabalho como este: http://codepen.io/4two2/pen/MKGKVO
Belo artigo!
Obrigado Alex!
Boa noite, tentei o link do exemplo e a pagina ficou toda em branco. tentei implementar o exemplo e tbm nao tive exito. teria no github esse exemplo?
Olá Joathan, segue o link do gitHub: https://github.com/fusioncharts/angular-fusioncharts
Jonathas,
Estou trabalhando em um projeto em Ionic 1 + Angular 1 e um dos requisitos do projeto é :
Após um filtro de datas ( De – Até ) exibir um gráfico de barras com os dados do resultado da consulta.
Bem gostaria de help , qual ou quais frameworks posso utilizar para plotar esse gráfico conforme a tecnologia ( Ionic 1 + Angular 1 )