Highcharts - Сброс увеличения синхронизированных графиков - PullRequest
0 голосов
/ 03 января 2019

Я использую функцию syncExtremes для синхронизации нескольких диаграмм (и их масштабов), как реализовано в следующем примере:

https://jsfiddle.net/pz2bak0u

Однако я 'Мы столкнулись с двумя проблемами, которые я, кажется, не могу найти.Во-первых, если вы несколько раз увеличиваете масштаб изображения на разных графиках, не сбрасывая их, а затем нажимаете одну из кнопок Сбросить масштаб , остальные кнопки Сбросить масштабирование остаются на месте (и я хотел бы, чтобы они исчезали по мере их появления.при нажатии не работает).

Затем я изменил скрипту, чтобы увеличить xy :

https://jsfiddle.net/47dz68Lt

При увеличениина первом графике, затем на втором, а затем на третьем, и попробуйте уменьшить масштаб первого графика, остальные два останутся на полпути увеличенными.

Я пробовал chart.xAxis[0].setExtremes(null, null);, но мне не повезло.

Возможно ли сбросить все xy-масштабирование на всех графиках одновременно, как в примере x-масштабирования?

1 Ответ

0 голосов
/ 04 января 2019

В настоящее время вы сбрасываете только крайние значения по осям x, с xy типом увеличения, вам также необходимо сбросить крайние значения по осям y:

var H = Highcharts;

H.wrap(H.Chart.prototype, 'zoomOut', function(proceed) {

    proceed.apply(this, Array.prototype.slice.call(arguments, 1));

    H.charts.forEach(function(chart) {
        if (chart !== this) {
            chart.yAxis[0].setExtremes(null, null, undefined, false);
        }
    }, this);
});

Для управления отображением resetZoomButton можно использовать метод showResetZoom, например:

H.wrap(H.Chart.prototype, 'showResetZoom', function(proceed) {
    var visibleBtn = false;

    H.charts.forEach(function(chart) {
        if (chart.resetZoomButton) {
            visibleBtn = true;
        }
    });

    if (!visibleBtn) {
        proceed.apply(this, Array.prototype.slice.call(arguments, 1));
    }
});

Демонстрация в реальном времени: https://jsfiddle.net/BlackLabel/bg7L1nev/

Документы: https://www.highcharts.com/docs/extending-highcharts/extending-highcharts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...