使用Yii2 highcharts小部件创建热图

时间:2015-05-12 11:14:33

标签: highcharts yii2 heatmap

我正在尝试将原始编码的高图热图改为Milos Schuman的Yii2插件。区域和折线图正在运行,但没有使用热图的示例,我几乎尝试了所有内容。

这是高图演示中显示的代码:

$(function () {
  $('#container').highcharts({

    chart: {
        type: 'heatmap',
    },

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

    xAxis: {
        categories: ['Alexander', 'Marie', 'Maximilian', 'Sophia', 'Lukas', 'Maria', 'Leon', 'Anna', 'Tim', 'Laura']
    },

    yAxis: {
        categories: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
        },

    series: [{
        name: 'Sales per employee',
        borderWidth: 1,
        data: [[0, 0, 10], [0, 1, 19], [0, 2, 8], [0, 3, 24], [0, 4, 67], [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, 97], [8, 2, 123], [8, 3, 64], [8, 4, 84], [9, 0, 47], [9, 1, 114], [9, 2, 31], [9, 3, 48], [9, 4, 91]],
        dataLabels: {
            enabled: true,
            color: '#000000'
        }
    }]

  });
});

使用Yii2小部件的区域图表示例:

use miloschuman\highcharts\Highcharts;

echo Highcharts::widget([
        'options' => [
            'title' => ['text' => 'Fruit Consumption'],
            'xAxis' => [
                    'categories' => ['Apples', 'Bananas', 'Oranges']
            ],
            'yAxis' => [
                    'title' => ['text' => 'Fruit eaten']
            ],
            'series' => [
                    ['name' => 'Jane', 'data' => [1, 0, 4]],
                    ['name' => 'John', 'data' => [5, 7, 3]]
            ]
    ]
]);                 

1 个答案:

答案 0 :(得分:1)

问题基本上是在热图图表的情况下,需要在选项描述之前指定需要热图模块:

    'scripts' => [
            'modules/heatmap',  // adds heatmap support
        ],

这是一个基于highcharts演示的工作示例:

$heatmap_options = [
    'scripts' => [
            'modules/heatmap',  // adds heatmap support
        ],

    'options' => [

            'title' => ['text' => 'Sales per employee per weekday'],
            'chart' => [
                    'type' => 'heatmap'
            ],
            'xAxis' => [
                    'categories' =>['Alexander', 'Marie', 'Maximilian', 'Sophia', 'Lukas', 'Maria', 'Leon', 'Anna', 'Tim', 'Laura']
            ],
            'yAxis' => [
                    'categories' => ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
            ],

            'colorAxis' =>[

            ],

            'series' => [[
                    'name' => 'Sales per employee',
                    'borderWidth' => 1,
                    'data' =>   [[0, 0, 10], [0, 1, 19], [0, 2, 8], [0, 3, 24], [0, 4, 67], [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, 97], [8, 2, 123], [8, 3, 64], [8, 4, 84], [9, 0, 47], [9, 1, 114], [9, 2, 31], 
                        [9, 3, 48], [9, 4, 91]],
                    'dataLabels' => [
                            'enabled' => true,
                            'color' => '#000000'
                        ]
                    ]
            ]
    ]

];

echo Highcharts::widget($heatmap_options);