highcharts重置缩放按钮

时间:2016-07-08 06:52:28

标签: javascript jquery highcharts highstock

我试图仅在启用导航器的情况下使用x轴缩放控制高压图表上的缩放按钮的可见性。

默认情况下,此组合显示核心代码会禁用缩放按钮。但是有一些功能可以让你显示按钮,但我找不到一个隐藏它。

function createChart() {
    $('#container').highcharts('StockChart', {
        chart: {
            zoomType: "x",
            panning: true,
            panKey: "shift"
        },
        rangeSelector: {
            selected: 4
        },
        xAxis: {
            events: {
                setExtremes: xAxisExtremes
            },
        },
        yAxis: {
            labels: {
                formatter: function() {
                    return (this.value > 0 ? ' + ' : '') + this.value + '%';
                }
            },
            plotLines: [{
                value: 0,
                width: 2,
                color: 'silver'
            }]
        },
        series: seriesOptions
    });
}

function xAxisExtremes(e) {
    var chart = $('#container').highcharts();

    if (e.trigger === "zoom") {
        if (e.min && e.max) {
            chart.showResetZoom();
        } else {
            alert("Reset Zoom");
            // chart.hideResetZoom(); ????
        }
    }
}

请参阅此小提琴,了解我正在使用的示例。 https://jsfiddle.net/sooftcL7/3/

利用xAxis setExtremes事件,我可以检测使用触发器标识符发生的缩放事件。我可以使用chart.showResetZoom();

打开按钮

我试过了两次

chart.resetZoomButton.destroy()
chart.resetZoomButton.hide()

正如其他地方所建议的那样,但它们不是定义的函数。

任何帮助都将不胜感激。

干杯,

d

2 个答案:

答案 0 :(得分:1)

您必须禁用导航器以删除底栏并禁用rangeSelector以删除缩放按钮

$('#container').highcharts('StockChart', {
    ...
    rangeSelector : {
        enabled: false
    },
    navigator: {
        enabled: false
    }
    ...
});

检查一下 http://jsfiddle.net/CgAnW/

答案 1 :(得分:0)

仅当resetZoomButton.destroy()是对象时,才能调用

resetZoomButton函数。根据Highsotck的消息来源:

  

对于股票图表(...)导航器和范围选择器已允许X轴缩放。

   if (zoomType === 'x') {
       chart.resetZoomButton = 'blocked'; // replaced with string
   }

所以,要解决这个问题,你可以做到:

    chart: {
        zoomType:   'xz' // whatever string containg x
    }

这意味着缩放类型仍然是' x'但是你省略了这个丑陋的if语句用一些随机字符串替换resetZoomButton对象......