javascript - 即使没有数据, Highcharts 也会显示所有类别

标签 javascript highcharts

我正在处理 Highcharts ,我在网页上有一组控件,允许用户选择月份和位置。问题是他们是否选择了没有数据的位置。假设他们选择一月和夏威夷,但没有夏威夷一月的数据。根本不会显示任何内容,但我希望轴与标签一起显示。

注意:我正在尝试创建热图,因此我不想在没有数据时看到最小颜色。

最佳答案

null 值似乎有效。您也可以将工具提示更改为在值为空时不显示:http://jsfiddle.net/SheldonNeilson/95um4x0q/1/

<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/heatmap.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<div id="container" style="height: 400px; min-width: 310px; max-width: 800px; margin: 0 auto"></div>

$(function () {

    $('#container').highcharts({

        chart: {
            type: 'heatmap',
            marginTop: 40,
            marginBottom: 80
        },


        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'],
            title: null
        },

        colorAxis: {
            min: 0,
            minColor: Highcharts.getOptions().colors[0],
            maxColor: '#FFFFFF'
        },

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

        tooltip: {
            formatter: function () {
                if(this.point.value == null){
                 return 'No data'  ;
                }else{
                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, null], [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'
            }
        }]

    });
});

关于javascript - 即使没有数据, Highcharts 也会显示所有类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29628452/

相关文章:

javascript - Highcharts 气泡 - 如何更改气泡背景和线条颜色?

javascript - 如何显示 Highstock 工具提示到二维距离中最近的点?

javascript - 使用 JavaScript 显示复选框值

javascript - 当 Internet 连接丢失时,将 FORM 数据保存在客户端 PC 上

javascript - "You require appropriate loaders",使用 react native 和 expo。应用程序无法在 web 上编译,但在 android 上运行

javascript - 使用 Highcharts,我想覆盖一条显示柱状图最佳值的线

javascript - AngularJS中的动态复选框过滤

javascript - 外部 Javascript 仅在 Internet Explorer 上未定义

javascript - 解析 JavaScript 对象以呈现 highcharts

javascript - 十进制表示法的科学记数法在 Highcharts 中不起作用