Сбросить / установить ZoomType Control в Highstock - PullRequest
2 голосов
/ 16 февраля 2012

Я использую API-интерфейсы highcharts для разработки диаграмм в своем приложении.Я использую класс highstack из highcharts.

Что я ищу, так это то, что я хочу обрабатывать элементы управления масштабированием от внешних кнопок.

например, есть переключатель, например zoom (да, нет),если мы выберем «да», то на моем графике должна быть включена функция масштабирования.Если не выбрано, то функция масштабирования должна быть отключена.

Я пробовал со следующим свойством:

zoomType: 'xy'

Я попытался сбросить указанное выше свойство, ноне удалось.

Пожалуйста, дайте мне какие-либо предложения по решению этой проблемы.

Заранее спасибо ..

1 Ответ

1 голос
/ 27 мая 2012

Ну, вы можете просто удалить обработчик mousedown с помощью следующего кода: chart.container.onmousedown. Это не лучшее решение (и я не проверял это на мобильных устройствах при использовании сенсорных событий), но в любом случае это хорошая отправная точка.

Здесь вы можете найти живое демо: http://jsfiddle.net/3qYAZ и код этого демо:

window.chart = new Highcharts.Chart({

    chart: {
        renderTo: 'container',
        zoomType: 'x'
    },

    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]
    }]

}, function (chart) {

    var checkbox = $('#zoom'), // a checkbox input in your html
        zoomHandler = chart.container.onmousedown;

    checkbox.on('change', function () {
        if (this.checked)
            chart.container.onmousedown = zoomHandler;
        else
            chart.container.onmousedown = null;
    });
});
...