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

标签 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
        }]
    });
});

最佳答案

一种方法是设置轴的最小值和最大值。

参见示例:

{{ 编辑以解决评论:

为什么要在没有数据的时候设置一个max,有数据的时候去掉? 只需找出数据中的最大值,并相应地进行设置即可。

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

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

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

例子:

{{编辑

好的,再来一个:

这使用相同的函数,但从 legendItemClick 事件调用它,这需要稍微复杂一些。

关于javascript - jquery 图表应该显示没有数据的刻度标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25185112/

相关文章:

javascript - 输入最后一位数字后自动提交

javascript - Phonegap + JQuery 无法连接到互联网

javascript - 使用javascript修改网页的CSS

javascript - 文本选择和冒泡

jquery - 当元素内的文本使用 jquery 更改时调用函数?

c# - ASP.NET 图表助手的自定义标题字体

javascript - 使用 jQuery 删除元素但保留文本

vb.net - 使用 excel 数据源以 vb.net 形式绘制图表

javascript - 如何动态创建数组来更新 ZingChart 树形图

javascript - 使用 JavaScript 使链接保持事件状态并在单击时显示悬停效果