Высокие чарты ограничиваются 1 яси

1

Я нашел необходимость удостовериться, что Highcharts использует только 1 yaxis за один раз, в основном я обычно имею около 5-10 серий, но многие из них не имеют одинакового измерения yaxis.

Например, с загрязнением воздуха PM2.5 измеряется ug/m3, а большинство других - на ppm, но есть также ppb.

Я хочу по умолчанию показывать только ряды ppb, но если вы выберете серию (из легенды высоких карт), которая использует, например, ug/m3, то все серии ppb будут скрыты.

Мне сложно определить его, так что просматривая документы, я просто не могу найти никакой связи с моей проблемой, чтобы найти решение, и я действительно хочу избежать попытки заставить Highcharts сделать это, когда он кажется чем-то, что скорее всего, будет поддерживаться в некотором роде.

То, что я в основном ищу, - это то, как это можно было бы назвать высокоуровневыми диаграммами, которые могли бы направлять меня к правильной части документов, или если они не поддерживаются высокими диаграммами, что я мог бы сделать для этого, не усложняя настройку (события click на элементах легенды, ect).

Теги:
highcharts

1 ответ

1
Лучший ответ

Вы можете добиться этого, используя series.events.legendItemClick и скрыть все остальные серии при включении. Полезным вариантом является также yAxis.showEmpty который скроет все элементы yAxis, если крайности не установлены.

Демо: http://jsfiddle.net/BlackLabel/aqh5htqt/

Highcharts.chart('container', {
  yAxis: [{
    showEmpty: false
  }, {
    showEmpty: false
  }, {
    showEmpty: false
  }],
  plotOptions: {
    series: {
      events: {
        legendItemClick: function() {
          if (!this.visible) {
            // Hide all others
            Highcharts.each(this.chart.series, function(series) {
              series.hide();
            });
          } else {
            // Prevent hiding the only visible series
            return false;
          }
        }
      }
    }
  },
  series: [{
    data: [1, 2, 3]
  }, {
    data: [100, 400, 5000],
    visible: false,
    yAxis: 1
  }, {
    data: [5, 10, 15],
    visible: false,
    yAxis: 2
  }]
});
  • 1
    Кажется, я на правильном пути, спасибо. Следует заметить, что если вы не сопоставите название серии с серией в цикле, вы в конечном итоге скроете все серии (поскольку независимо от того, что вы делаете, он по-прежнему переключает видимость после запуска события для выбранной серии). Кажется, твоя скрипка на это не повлияла, но ненадолго достала меня.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню