为什么高库存范围选择器中有禁用的按钮

Why are there disabled buttons in HighStock Range Selector?

本文关键字:按钮 高库存 范围 选择器 为什么      更新时间:2023-09-26

我在HighCharts/HighStocks中使用rangeSelector时遇到了问题。出于某种原因,选择是禁用的。我的问题是,我如何确保所有范围选择按钮都处于活动状态,因为数据可用于特定范围。下面是一个示例。 链接

$(function() {
    var seriesOptions = [], seriesCounter = 0, names = ['t1'];
    function createChart() {
        $('#container').highcharts('StockChart', {
            loading: {
                style: {
                    backgroundColor: 'silver'
                },
                labelStyle: {
                    color: 'white'
                }
            },
            rangeSelector : {
                selected : 1
            },
            yAxis : {
                            plotLines : [ {
                    value : 0,
                    width : 2,
                    color : 'silver'
                } ]
            },
            plotOptions : {
            },
            tooltip : {
                valueDecimals : 2
            },
            series : seriesOptions
        });
    }
$.each(names, function(i, name) {
$.getJSON('https://dl.dropboxusercontent.com/u/34899000/data.json?dt=' + name.toLowerCase(), function(
                data) {
            seriesOptions[i] = {
                name : name,
                data : data
            };
            seriesCounter += 1;
            if (seriesCounter === names.length) {
                createChart();
            }
        });
    });
});

您必须启用范围选择器按钮,因此在您的情况下,您必须添加一个属性allButtonsEnabled并将其设置为 true

rangeSelector: {
    allButtonsEnabled: true,
    selected: 1
},

请参阅文档http://api.highcharts.com/highstock#rangeSelector

所有按钮启用:布尔值 自 2.0.3 起

是否从一开始就启用所有按钮。默认情况下,按钮是 仅当 X 轴上存在相应的时间范围时才启用,但 启用所有按钮允许动态加载不同的时间 范围。默认为 false。

在您的小提琴中启用所有按钮不会做任何事情,因为时间轴是 1 个月,这是最小范围。