702 lines
31 KiB
HTML
702 lines
31 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head lang="en">
|
|
<meta charset="UTF-8">
|
|
<title>Charts</title>
|
|
<link rel="stylesheet" href="../node_modules/font-awesome/css/font-awesome.min.css">
|
|
<link rel="stylesheet" href="../node_modules/Rainbow/themes/github.css">
|
|
<link href="bootstrap.css" rel="stylesheet">
|
|
<link href="app.css" rel="stylesheet">
|
|
<style>
|
|
.chart-legend {
|
|
list-style-type: none;
|
|
margin-top: 5px;
|
|
text-align: center;
|
|
/* NOTE: Browsers automatically add 40px of padding-left to all lists, so we should offset that, otherwise the legend is off-center */
|
|
-webkit-padding-start: 0;
|
|
/* Webkit */
|
|
-moz-padding-start: 0;
|
|
/* Mozilla */
|
|
padding-left: 0;
|
|
/* IE (handles all cases, really, but we should also include the vendor-specific properties just to be safe) */
|
|
}
|
|
.chart-legend li {
|
|
display: inline-block;
|
|
white-space: nowrap;
|
|
position: relative;
|
|
margin-bottom: 4px;
|
|
border-radius: 5px;
|
|
padding: 2px 8px 2px 28px;
|
|
font-size: smaller;
|
|
cursor: default;
|
|
}
|
|
.chart-legend li span {
|
|
display: block;
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
width: 20px;
|
|
height: 20px;
|
|
border-radius: 5px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body ng-app="examples" id="top">
|
|
<div class="navbar navbar-default navbar-fixed-top">
|
|
<div class="container" ng-controller="MenuCtrl">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle" ng-click="isCollapsed = !isCollapsed">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand visible-xs" href="#">Angular Charts</a>
|
|
</div>
|
|
<nav class="hidden-xs">
|
|
<ul class="nav navbar-nav">
|
|
<li>
|
|
<a href="#top" role="button" class="navbar-brand">
|
|
Angular Chart
|
|
</a>
|
|
</li>
|
|
<li class="dropdown">
|
|
<a role="button" class="dropdown-toggle" aria-haspopup="true" aria-expanded="false">
|
|
Directives <b class="caret"></b>
|
|
</a>
|
|
<ul class="dropdown-menu">
|
|
<li ng-repeat="chart in charts"><a ng-href="#{{chart | lowercase }}-chart">{{chart}}</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#getting_started">Getting started</a></li>
|
|
<li><a href="#reactive">Reactive</a></li>
|
|
<li><a href="#mixed">Mixed type charts</a></li>
|
|
</ul>
|
|
</nav>
|
|
<nav class="collapse" collapse="isCollapsed" style="height: 0px;">
|
|
<ul class="nav navbar-nav">
|
|
<li><a href="#getting_started" ng-click="isCollapsed = !isCollapsed">Getting started</a></li>
|
|
<li><a href="#directives" ng-click="isCollapsed = !isCollapsed">Directives</a></li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
<div class="container-fluid">
|
|
<div class="text-center aspect-ratio" id="container" ng-controller="TicksCtrl">
|
|
<canvas width='1200' height='300' id="hero-bar" class="chart chart-line" chart-data="data"
|
|
chart-options="options" chart-labels="labels"></canvas>
|
|
<div class="header">
|
|
<h1>
|
|
Angular Chart
|
|
</h1>
|
|
|
|
<p>Reactive, responsive, beautiful charts for <a href="http://angularjs.org">AngularJS</a> based on <a href="http://www.chartjs.org">Chart.js</a></p>
|
|
|
|
<p>
|
|
<a class="btn btn-default btn-lg" href="https://github.com/jtblin/angular-chart"><i class="icon-github"></i>Code on Github</a>
|
|
<a class="btn btn-success btn-lg" href="../dist/angular-chart.js.tar.gz" download="angular-chart.js.tar.gz">
|
|
<i class="fa fa-download"></i> Download <small>(1.0.2)</small>
|
|
</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="container">
|
|
<section id="getting_started">
|
|
<div class="page-header">
|
|
<h1>Getting started</h1>
|
|
</div>
|
|
<h3>Dependencies</h3>
|
|
<p>
|
|
This repository contains a set of <strong>native AngularJS directives</strong> for Chart.js. The <strong>only required dependencies</strong> are:
|
|
</p>
|
|
<ul>
|
|
<li><a href="http://angularjs.org" target="_blank">AngularJS</a> (tested with 1.2.x, 1.3.x, 1.4.x and 1.5.x although it probably works with older versions)</li>
|
|
<li><a href="http://chartjs.org" target="_blank">Chart.js</a> (requires Chart.js 2.0.x).</li>
|
|
</ul>
|
|
<h3>Files to download</h3>
|
|
<p>
|
|
The easiest is to download with <strong>npm</strong>:
|
|
<pre>npm install angular-chart.js --save</pre>
|
|
Alternatively files can be <a href="https://github.com/jtblin/angular-chart.js">downloaded from Github</a> or via bower.
|
|
See <a href="https://github.com/jtblin/angular-chart.js">readme</a> for more information.
|
|
</p>
|
|
<p>Whichever method you choose the good news is that the overall size is very small:
|
|
<5kb for all directives (~1kb with gzip compression!)</p>
|
|
<h3>Installation</h3>
|
|
<p>You need to include the dependencies in your page:</p>
|
|
<pre><code><script src="node_modules/chart.js/Chart.min.js"></script>
|
|
<script src="node_modules/angular-chart.js/dist/angular-chart.min.js"></script></code></pre>
|
|
<p>As soon as you've got all the files downloaded and included in your page you just need to declare
|
|
a dependency on the <code>chart.js</code> <a href="http://docs.angularjs.org/guide/module">module</a>:<br>
|
|
</p><pre><code>angular.module('myModule', ['chart.js']);</code></pre>
|
|
<p></p>
|
|
<h3>CSS</h3>
|
|
<p></p>
|
|
<h3>Colors</h3>
|
|
<p>Series have beautiful pre-sets colors (to a maximum of 7 series, after that colors will be randomly generated).
|
|
They can be overwritten using <code>Chart.defaults.global.colors</code>.</p>
|
|
<ol class="chart-legend">
|
|
<li><span style="background-color: rgba(151,187,205,1)"></span>Blue</li>
|
|
<li><span style="background-color: rgba(220,220,220,1)"></span>Light grey</li>
|
|
<li><span style="background-color: rgba(247,70,74,1)"></span>Red</li>
|
|
<li><span style="background-color: rgba(70,191,189,1)"></span>Green</li>
|
|
<li><span style="background-color: rgba(253,180,92,1)"></span>Yellow</li>
|
|
<li><span style="background-color: rgba(148,159,177,1)"></span>Grey</li>
|
|
<li><span style="background-color: rgba(77,83,96,1)"></span>Dark Grey</li>
|
|
</ol>
|
|
<p>You can also use the provider : <code>ChartJsProvider</code> in a <code>.config()</code></p>
|
|
<p><pre><code>(function (ChartJsProvider) {
|
|
ChartJsProvider.setOptions({ colors : [ '#803690', '#00ADF9', '#DCDCDC', '#46BFBD', '#FDB45C', '#949FB1', '#4D5360'] });
|
|
}); </code></pre></p>
|
|
</section>
|
|
<section id="directives">
|
|
<div class="page-header">
|
|
<h1>Directives</h1>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6 col-sm-12" id="line-chart" ng-controller="LineCtrl">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Line Chart</div>
|
|
<div class="panel-body">
|
|
<canvas id="line" class="chart chart-line" chart-data="data" chart-labels="labels"
|
|
chart-click="onClick" chart-hover="onHover" chart-series="series" chart-options="options"
|
|
chart-dataset-override="datasetOverride"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12 code">
|
|
<tabset>
|
|
<tab heading="Settings" class="settings">
|
|
<div class="settings">
|
|
<code>.chart-line</code>
|
|
<ul>
|
|
<li><code>chart-data</code>: series data</li>
|
|
<li><code>chart-labels</code>: x axis labels</li>
|
|
<li><code>chart-options</code> (default: <code>{}</code>): Chart.js options</li>
|
|
<li><code>chart-series</code> (default: <code>[]</code>): series labels</li>
|
|
<li><code>chart-click</code> (optional): onclick event handler</li>
|
|
<li><code>chart-hover</code> (optional): onmousemove event handler</li>
|
|
<li><code>chart-colors</code> (default to global colors): colors for the chart</li>
|
|
<li><code>chart-dataset-override</code> (optional): override datasets individually</li>
|
|
</ul>
|
|
</div>
|
|
</tab>
|
|
<tab heading="Markup">
|
|
<pre><code data-language="html"><canvas id="line" class="chart chart-line" chart-data="data"
|
|
chart-labels="labels" chart-series="series" chart-options="options"
|
|
chart-dataset-override="datasetOverride" chart-click="onClick"
|
|
</canvas> </code></pre>
|
|
</tab>
|
|
<tab heading="Javascript">
|
|
<pre><code data-language="javascript">angular.module("app", ["chart.js"]).controller("LineCtrl", function ($scope) {
|
|
|
|
$scope.labels = ["January", "February", "March", "April", "May", "June", "July"];
|
|
$scope.series = ['Series A', 'Series B'];
|
|
$scope.data = [
|
|
[65, 59, 80, 81, 56, 55, 40],
|
|
[28, 48, 40, 19, 86, 27, 90]
|
|
];
|
|
$scope.onClick = function (points, evt) {
|
|
console.log(points, evt);
|
|
};
|
|
$scope.datasetOverride = [{ yAxisID: 'y-axis-1' }, { yAxisID: 'y-axis-2' }];
|
|
$scope.options = {
|
|
scales: {
|
|
yAxes: [
|
|
{
|
|
id: 'y-axis-1',
|
|
type: 'linear',
|
|
display: true,
|
|
position: 'left'
|
|
},
|
|
{
|
|
id: 'y-axis-2',
|
|
type: 'linear',
|
|
display: true,
|
|
position: 'right'
|
|
}
|
|
]
|
|
}
|
|
};
|
|
});
|
|
</code></pre>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6 col-sm-12 code">
|
|
<tabset>
|
|
<tab heading="Settings" class="settings">
|
|
<div class="settings">
|
|
<code>.chart-bar</code>
|
|
<ul>
|
|
<li><code>chart-data</code>: series data</li>
|
|
<li><code>chart-labels</code>: x axis labels</li>
|
|
<li><code>chart-options</code> (default: <code>{}</code>): Chart.js options</li>
|
|
<li><code>chart-series</code> (default: <code>[]</code>): series labels</li>
|
|
<li><code>chart-click</code> (optional): onclick event handler</li>
|
|
<li><code>chart-hover</code> (optional): onmousemove event handler</li>
|
|
<li><code>chart-colors</code> (default to global colors): colors for the chart</li>
|
|
<li><code>chart-dataset-override</code> (optional): override datasets individually</li>
|
|
</ul>
|
|
</div>
|
|
</tab>
|
|
<tab heading="Markup">
|
|
<pre><code data-language="html"><canvas id="bar" class="chart chart-bar"
|
|
chart-data="data" chart-labels="labels"> chart-series="series"
|
|
</canvas></code></pre>
|
|
</tab>
|
|
<tab heading="Javascript">
|
|
<pre><code data-language="javascript">angular.module("app", ["chart.js"]).controller("BarCtrl", function ($scope) {
|
|
$scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
|
|
$scope.series = ['Series A', 'Series B'];
|
|
|
|
$scope.data = [
|
|
[65, 59, 80, 81, 56, 55, 40],
|
|
[28, 48, 40, 19, 86, 27, 90]
|
|
];
|
|
});
|
|
</code></pre>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12" id="bar-chart" ng-controller="BarCtrl">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Bar Chart</div>
|
|
<div class="panel-body">
|
|
<canvas id="bar" class="chart chart-bar" chart-data="data" chart-labels="labels"
|
|
chart-series="series" chart-options="options"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6 col-sm-12" id="doughnut-chart" ng-controller="DoughnutCtrl">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Doughnut Chart</div>
|
|
<div class="panel-body">
|
|
<canvas id="doughnut" class="chart chart-doughnut chart-xs" chart-data="data"
|
|
chart-labels="labels"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12 code">
|
|
<tabset>
|
|
<tab heading="Settings" class="settings">
|
|
<div class="settings">
|
|
<code>.chart-doughnut</code>
|
|
<ul>
|
|
<li><code>chart-data</code>: series data</li>
|
|
<li><code>chart-labels</code>: series labels</li>
|
|
<li><code>chart-options</code> (default: <code>{}</code>): Chart.js options</li>
|
|
<li><code>chart-click</code> (optional): onclick event handler</li>
|
|
<li><code>chart-hover</code> (optional): onmousemove event handler</li>
|
|
<li><code>chart-colors</code> (default to global colors): colors for the chart</li>
|
|
<li><code>chart-dataset-override</code> (optional): override datasets individually</li>
|
|
</ul>
|
|
</div>
|
|
</tab>
|
|
<tab heading="Markup">
|
|
<pre><code data-language="html"><canvas id="doughnut" class="chart chart-doughnut"
|
|
chart-data="data" chart-labels="labels">
|
|
</canvas> </code></pre>
|
|
</tab>
|
|
<tab heading="Javascript">
|
|
<pre><code data-language="javascript">angular.module("app", ["chart.js"]).controller("DoughnutCtrl", function ($scope) {
|
|
$scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales"];
|
|
$scope.data = [300, 500, 100];
|
|
});
|
|
</code></pre>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6 col-sm-12 code">
|
|
<tabset>
|
|
<tab heading="Settings" class="settings">
|
|
<div class="settings">
|
|
<code>.chart-radar</code>
|
|
<ul>
|
|
<li><code>chart-data</code>: series data</li>
|
|
<li><code>chart-labels</code>: series labels</li>
|
|
<li><code>chart-options</code> (default: <code>{}</code>): Chart.js options</li>
|
|
<li><code>chart-series</code> (default: <code>[]</code>): series labels</li>
|
|
<li><code>chart-click</code> (optional): onclick event handler</li>
|
|
<li><code>chart-hover</code> (optional): onmousemove event handler</li>
|
|
<li><code>chart-colors</code> (default to global colors): colors for the chart</li>
|
|
<li><code>chart-dataset-override</code> (optional): override datasets individually</li>
|
|
</ul>
|
|
</div>
|
|
</tab>
|
|
<tab heading="Markup">
|
|
<pre><code data-language="html"><canvas id="radar" class="chart chart-radar"
|
|
chart-data="data" chart-options="options" chart-labels="labels">
|
|
</canvas> </code></pre>
|
|
</tab>
|
|
<tab heading="Javascript">
|
|
<pre><code data-language="javascript">angular.module("app", ["chart.js"]).controller("RadarCtrl", function ($scope) {
|
|
$scope.labels =["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"];
|
|
|
|
$scope.data = [
|
|
[65, 59, 90, 81, 56, 55, 40],
|
|
[28, 48, 40, 19, 96, 27, 100]
|
|
];
|
|
});
|
|
</code></pre>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12" id="radar-chart" ng-controller="RadarCtrl">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Radar Chart</div>
|
|
<div class="panel-body">
|
|
<canvas id="area" class="chart chart-radar" chart-data="data"
|
|
chart-labels="labels" chart-options="options" chart-click="onClick"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6 col-sm-12" id="pie-chart" ng-controller="PieCtrl">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Pie Chart</div>
|
|
<div class="panel-body">
|
|
<canvas id="pie" class="chart chart-pie chart-xs" chart-data="data"
|
|
chart-labels="labels" chart-options="options"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12 code">
|
|
<tabset>
|
|
<tab heading="Settings" class="settings">
|
|
<div class="settings">
|
|
<code>.chart-pie</code>
|
|
<ul>
|
|
<li><code>chart-data</code>: series data</li>
|
|
<li><code>chart-labels</code>: series labels</li>
|
|
<li><code>chart-options</code> (default: <code>{}</code>): Chart.js options</li>
|
|
<li><code>chart-click</code> (optional): onclick event handler</li>
|
|
<li><code>chart-hover</code> (optional): onmousemove event handler</li>
|
|
<li><code>chart-colors</code> (default to global colors): colors for the chart</li>
|
|
<li><code>chart-dataset-override</code> (optional): override datasets individually</li>
|
|
</ul>
|
|
</div>
|
|
</tab>
|
|
<tab heading="Markup">
|
|
<pre><code data-language="html"><canvas id="pie" class="chart chart-pie"
|
|
chart-data="data" chart-labels="labels" chart-options="options">
|
|
</canvas> </code></pre>
|
|
</tab>
|
|
<tab heading="Javascript">
|
|
<pre><code data-language="javascript">angular.module("app", ["chart.js"]).controller("PieCtrl", function ($scope) {
|
|
$scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales"];
|
|
$scope.data = [300, 500, 100];
|
|
});
|
|
</code></pre>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6 col-sm-12 code">
|
|
<tabset>
|
|
<tab heading="Settings" class="settings">
|
|
<div class="settings">
|
|
<code>.chart-polar-area</code>
|
|
<ul>
|
|
<li><code>chart-data</code>: series data</li>
|
|
<li><code>chart-labels</code>: series labels</li>
|
|
<li><code>chart-options</code> (default: <code>{}</code>): Chart.js options</li>
|
|
<li><code>chart-click</code> (optional): onclick event handler</li>
|
|
<li><code>chart-hover</code> (optional): onmousemove event handler</li>
|
|
<li><code>chart-colors</code> (default to global colors): colors for the chart</li>
|
|
<li><code>chart-dataset-override</code> (optional): override datasets individually</li>
|
|
</ul>
|
|
</div>
|
|
</tab>
|
|
<tab heading="Markup">
|
|
<pre><code data-language="html"><canvas id="polar-area" class="chart chart-polar-area"
|
|
chart-data="data" chart-labels="labels" chart-options="options">
|
|
</canvas> </code></pre>
|
|
</tab>
|
|
<tab heading="Javascript">
|
|
<pre><code data-language="javascript">angular.module("app", ["chart.js"]).controller("PolarAreaCtrl", function ($scope) {
|
|
$scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"];
|
|
$scope.data = [300, 500, 100, 40, 120];
|
|
});
|
|
</code></pre>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12" id="polar area-chart" ng-controller="PolarAreaCtrl">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Polar Area Chart</div>
|
|
<div class="panel-body">
|
|
<canvas id="polar" class="chart chart-polar-area" chart-data="data"
|
|
chart-labels="labels" chart-options="options"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6 col-sm-12" id="horizontal bar-chart" ng-controller="BarCtrl">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Horizontal Bar Chart</div>
|
|
<div class="panel-body">
|
|
<canvas id="horizontal" class="chart chart-horizontal-bar" chart-data="data"
|
|
chart-labels="labels"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12 code">
|
|
<tabset>
|
|
<tab heading="Settings" class="settings">
|
|
<div class="settings">
|
|
<code>.chart-horizontal-bar</code>
|
|
<ul>
|
|
<li><code>chart-data</code>: series data</li>
|
|
<li><code>chart-labels</code>: x axis labels</li>
|
|
<li><code>chart-options</code> (default: <code>{}</code>): Chart.js options</li>
|
|
<li><code>chart-series</code> (default: <code>[]</code>): series labels</li>
|
|
<li><code>chart-click</code> (optional): onclick event handler</li>
|
|
<li><code>chart-hover</code> (optional): onmousemove event handler</li>
|
|
<li><code>chart-colors</code> (default to global colors): colors for the chart</li>
|
|
<li><code>chart-dataset-override</code> (optional): override datasets individually</li>
|
|
</ul>
|
|
</div>
|
|
</tab>
|
|
<tab heading="Markup">
|
|
<pre><code data-language="html"><canvas id="base" class="chart-horizontal-bar"
|
|
chart-data="data" chart-labels="labels" >
|
|
</canvas> </code></pre>
|
|
</tab>
|
|
<tab heading="Javascript">
|
|
<pre><code data-language="javascript">angular.module("app", ["chart.js"]).controller("BarCtrl",
|
|
function ($scope) {
|
|
$scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
|
|
$scope.series = ['Series A', 'Series B'];
|
|
|
|
$scope.data = [
|
|
[65, 59, 80, 81, 56, 55, 40],
|
|
[28, 48, 40, 19, 86, 27, 90]
|
|
];
|
|
});
|
|
</code></pre>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6 col-sm-12 code">
|
|
<tabset>
|
|
<tab heading="Settings" class="settings">
|
|
<div class="settings">
|
|
<code>.chart-bubble</code>
|
|
<ul>
|
|
<li><code>chart-data</code>: series data</li>
|
|
<li><code>chart-labels</code>: x axis labels</li>
|
|
<li><code>chart-options</code> (default: <code>{}</code>): Chart.js options</li>
|
|
<li><code>chart-series</code> (default: <code>[]</code>): series labels</li>
|
|
<li><code>chart-click</code> (optional): onclick event handler</li>
|
|
<li><code>chart-hover</code> (optional): onmousemove event handler</li>
|
|
<li><code>chart-colors</code> (default to global colors): colors for the chart</li>
|
|
<li><code>chart-dataset-override</code> (optional): override datasets individually</li>
|
|
</ul>
|
|
</div>
|
|
</tab>
|
|
<tab heading="Markup">
|
|
<pre><code data-language="html"><!--see examples/bubble.html for random bubbles source code-->
|
|
<canvas id="base" class="chart-bubble" chart-data="data"
|
|
chart-series="series" >
|
|
</canvas> </code></pre>
|
|
</tab>
|
|
<tab heading="Javascript">
|
|
<pre><code data-language="javascript">angular.module("app", ["chart.js"]).controller("BubbleCtrl",
|
|
function ($scope) {
|
|
// see examples/bubble.js for random bubbles source code
|
|
$scope.series = ['Series A', 'Series B'];
|
|
|
|
$scope.data = [
|
|
[{
|
|
x: 40,
|
|
y: 10,
|
|
r: 20
|
|
}],
|
|
[{
|
|
x: 10,
|
|
y: 40,
|
|
r: 50
|
|
}]
|
|
];
|
|
});
|
|
</code></pre>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12" id="bubble-chart" ng-controller="BubbleCtrl">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Bubble Chart</div>
|
|
<div class="panel-body">
|
|
<canvas id="bubble" class="chart chart-bubble" chart-data="data" chart-options="options"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6 col-sm-12" id="base-chart" ng-controller="BaseCtrl">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Dynamic Chart</div>
|
|
<div class="panel-body">
|
|
<canvas id="base" class="chart chart-base" chart-type="type" chart-data="data"
|
|
chart-labels="labels"></canvas>
|
|
</div>
|
|
</div>
|
|
<button type="button" class="btn btn-primary pull-right" ng-click="toggle()">Toggle</button>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12 code">
|
|
<tabset>
|
|
<tab heading="Settings" class="settings">
|
|
<div class="settings">
|
|
<code>.chart-base</code>
|
|
<ul>
|
|
<li><code>chart-type</code>: chart type e.g. Bar, PolarArea, etc. or other plugins</li>
|
|
<li>other options according to chart type</li>
|
|
</ul>
|
|
</div>
|
|
</tab>
|
|
<tab heading="Markup">
|
|
<pre><code data-language="html"><canvas id="base" class="chart-base" chart-type="type"
|
|
chart-data="data" chart-labels="labels" >
|
|
</canvas> </code></pre>
|
|
</tab>
|
|
<tab heading="Javascript">
|
|
<pre><code data-language="javascript">angular.module("app", ["chart.js"]).controller("BaseCtrl",
|
|
function ($scope) {
|
|
$scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"];
|
|
$scope.data = [300, 500, 100, 40, 120];
|
|
$scope.type = 'PolarArea';
|
|
|
|
$scope.toggle = function () {
|
|
$scope.type = $scope.type === 'PolarArea' ?
|
|
'Pie' : 'PolarArea';
|
|
};
|
|
});
|
|
</code></pre>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section id="reactive">
|
|
<div class="page-header">
|
|
<h1>Reactive</h1>
|
|
<p>All charts are reactive and will update automatically when data changes.</p>
|
|
</div>
|
|
<div class="row" ng-controller="DataTablesCtrl">
|
|
<div class="col-lg-6 col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Reactive Chart</div>
|
|
<div class="panel-body">
|
|
<canvas id="tables" class="chart chart-line" chart-data="data" chart-options="options"
|
|
chart-labels="labels" chart-colors="colors"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Chart Data</div>
|
|
<div class="panel-body">
|
|
<table class="table table-responsive table-condensed table-striped">
|
|
<tr>
|
|
<th ng-repeat="label in labels">{{label}}</th>
|
|
</tr>
|
|
<tr ng-repeat="dataSet in data">
|
|
<td ng-repeat="set in dataSet track by $index"><span style="text-align: right;">{{data[$parent.$index][$index]}}</span></td>
|
|
</tr>
|
|
</table>
|
|
<button type="button" class="btn btn-primary pull-right" ng-click="randomize()">Randomize</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section id="mixed">
|
|
<div class="page-header">
|
|
<h1>Mixed type charts</h1>
|
|
<p>It is possible to combine multiple types of charts on the same canvas e.g. bar and line.</p>
|
|
</div>
|
|
<div class="row" ng-controller="MixedChartCtrl">
|
|
<div class="col-lg-6 col-sm-12 code">
|
|
<tabset>
|
|
<tab heading="Markup">
|
|
<pre><code data-language="html"><canvas id="base" class="chart-bar"
|
|
chart-data="data" chart-labels="labels" chart-colors="colors"
|
|
chart-dataset-override="datasetOverride" >
|
|
</canvas> </code></pre>
|
|
</tab>
|
|
<tab heading="Javascript">
|
|
<pre><code data-language="javascript">angular.module("app", ["chart.js"]).controller("MixedChartCtrl",
|
|
function ($scope) {
|
|
$scope.colors = ['#45b7cd', '#ff6384', '#ff8e72'];
|
|
|
|
$scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
|
|
$scope.data = [
|
|
[65, -59, 80, 81, -56, 55, -40],
|
|
[28, 48, -40, 19, 86, 27, 90]
|
|
];
|
|
$scope.datasetOverride = [
|
|
{
|
|
label: "Bar chart",
|
|
borderWidth: 1,
|
|
type: 'bar'
|
|
},
|
|
{
|
|
label: "Line chart",
|
|
borderWidth: 3,
|
|
hoverBackgroundColor: "rgba(255,99,132,0.4)",
|
|
hoverBorderColor: "rgba(255,99,132,1)",
|
|
type: 'line'
|
|
}
|
|
];
|
|
});
|
|
</code></pre>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Bar line Chart</div>
|
|
<div class="panel-body">
|
|
<canvas class="chart chart-bar" chart-data="data" chart-labels="labels"
|
|
chart-colors="colors" chart-dataset-override="datasetOverride"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<footer class="footer">
|
|
<div class="container">
|
|
<p>Designed and built by <a href="https://github.com/jtblin" target="_blank">Jerome Touffe-Blin</a></p>
|
|
<p>Code licensed under <a href="https://github.com/jtblin/angular-chart.js/blob/master/LICENSE">BSD License</a>.</p>
|
|
<p><a href="https://github.com/jtblin/angular-chart.js/issues?state=open">Issues</a></p>
|
|
<p><strong>Credits</strong>: <a href="http://www.chartjs.org/">Chart.js</a> and <a href="https://angularjs.org/">AngularJS</a></p>
|
|
</div>
|
|
</footer>
|
|
|
|
<script src="../node_modules/angular/angular.min.js"></script>
|
|
<script src="../node_modules/chart.js/dist/Chart.min.js"></script>
|
|
<script src="../node_modules/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
|
|
<script src="../node_modules/Rainbow/js/rainbow.min.js"></script>
|
|
<script src="../node_modules/Rainbow/js/language/generic.js"></script>
|
|
<script src="../node_modules/Rainbow/js/language/html.js"></script>
|
|
<script src="../node_modules/Rainbow/js/language/javascript.js"></script>
|
|
<script src="../angular-chart.js"></script>
|
|
<script src="smoothscroll.min.js"></script>
|
|
<script src="app.js"></script>
|
|
</body>
|
|
</html>
|