Heatmap viejo

A simple Angularjs directive for Highcharts. AngularJs, Highcharts

by raviolicode

HTML

<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css">
<script src="http://code.angularjs.org/1.1.0/angular.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="https://rawgithub.com/pablojim/highcharts-ng/master/src/highcharts-ng.js"></script>
<script src="http://code.highcharts.com/modules/heatmap.js"></script>
<div ng-app="myapp">
    <div ng-controller="myctrl">
        <div class="span12">
            <!--<input ng-model="chartConfig.title.text">
            <button ng-click="addSeries()">Add Series</button>
            <button ng-click="addPoints()">Add Points to Random Series</button>
            <button ng-click="removeRandomSeries()">Remove Random Series</button>
            <button ng-click="swapChartType()">Line/Bar</button>
            <button ng-click="toggleLoading()">Loading?</button>
        </div>-->
        <div class="row">
            <highchart id="chart1" config="chartConfig" class="span10"></highchart>
        </div>
    </div>
</div>

<h3><a href="https://github.com/pablojim/highcharts-ng">See Highcharts-ng on github</a></h3>

JavaScript

//See: https://github.com/pablojim/highcharts-ng
var myapp = angular.module('myapp', ["highcharts-ng"]);

myapp.controller('myctrl', function ($scope) {
    $scope.chartConfig = {
        options: {
            chart: {
                type: 'heatmap',
                marginTop: 40,
                marginBottom: 40
            },
             xAxis: {
            categories: ['Alexander', 'Marie', 'Maximilian', 'Sophia', 'Lukas', 'Maria', 'Leon', 'Anna', 'Tim', 'Laura']
        },

            yAxis: {
                categories: ['<a href="#">Monday</a>', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
                title: null
            },
    
            colorAxis: {
                min: 0,
                minColor: '#C30000',
                maxColor: '#E0C200'
            }

        },
        
        title: {
            text: 'Sales per employee per weekday'
        },

        legend: {
            align: 'right',
            layout: 'vertical',
            margin: 0,
            verticalAlign: 'top',
            y: 25,
            symbolHeight: 320
        },

        tooltip: {
            formatter: function () {
                return '<b>' + this.series.xAxis.categories[this.point.x] + '</b> sold <br><b>' +
                    this.point.value + '</b> items on <br><b>' + this.series.yAxis.categories[this.point.y] + '</b>';
            }
        },

        series: [{
            name: 'Sales per employee',
            borderWidth: 1,
            data: [[0, 0, 10], [0, 1, 19], [0, 2, 8], [0, 3, 24], [0, 4, 122], [1, 0, 92], [1, 1, 58], [1, 2, 78], [1, 3, 117], [1, 4, 48], [2, 0, 35], [2, 1, 15], [2, 2, 123], [2, 3, 64], [2, 4, 52], [3, 0, 72], [3, 1, 132], [3, 2, 114], [3, 3, 19], [3, 4, 16], [4, 0, 38], [4, 1, 5], [4, 2, 8], [4, 3, 117], [4, 4, 115], [5, 0, 88], [5, 1, 32], [5, 2, 12], [5, 3, 6], [5, 4, 120], [6, 0, 13], [6, 1, 44], [6, 2, 88], [6, 3, 98], [6, 4, 96], [7, 0, 31], [7, 1, 1], [7, 2, 82], [7, 3, 32], [7, 4, 30], [8, 0, 85], [8, 1,...