jquery图表应显示没有数据的刻度标签

时间:2014-08-07 14:27:45

标签: javascript jquery charts highcharts

我有这样的图表reference links 您可以关闭系列,但没有数据图表更改大小。在我的情况下,它不能做到这一点。我想一直显示刻度标签或使图表具有固定的情节平台。我怎样才能做到这一点?

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

        title: {
            text: 'Y axis showEmpty demo'
        },

        subtitle: {
            text: 'Left axis shows even if Series 1 is hidden. Right axis does not show when Series 2 is hidden.'
        },

        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },

        yAxis: [{
            lineWidth: 2
            // showEmpty: true // by default
        }, {
            lineWidth: 2,
            opposite: true,
            showEmpty: true,
            min:0
        }],

        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
            yAxis: 0
        }, {
            data: [106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5],
            yAxis: 1,
            visible: false
        }]
    });
});

1 个答案:

答案 0 :(得分:3)

一种方法是设置轴min和max。

请参阅example

{{编辑以发表评论:

为什么你想在没有数据时设置最大值,并在有数据时将其删除? 只需找出数据中的最大值,并相应地进行设置。

不可能简单地“取消设置”最小值和最大值 - 它们必须被设置为某种东西(它们总是设置为某种东西,无论你选择的是什么,或者库选择......)

如果您不想预处理数据以获得最大值,您可以做的是在图表调用上设置回调函数,并使用getExtremes()和setExtremes()函数明确地将最小值/最大值设置为Highcharts自然会使用的值。

在这种情况下,您还需要将所有系列设置为默认可见,并在设置轴最小/最大值后隐藏它们。

示例:

{{修改

好的,还有一个:

这使用相同的功能,但是从legendItemClick事件中调用它,这需要更多的复杂功能。