2014-10-03 2 views
0

Есть много примеров скрытия Y-Axis without hiding the series. Но мне нужно противоположное этому.Скрыть серию без скрытия оси y

Я хочу сделать серию невидимой, сохраняя при этом ось y, и я не знаю, как это сделать!

Почему?

Потому что у меня есть 2 схемы, которые идеально выровнены по их ось х: enter image description here

Но когда я отключить оба поля температуры, ось будет потеряна, и диаграммы неверны в размере: enter image description here

Я также не нравится идея, вывести из строя все и потерять весь стиль диаграммы: enter image description here

Там нет никаких проблем, имея пустую диаграмму, бу t с пустым ящиком - это не тот стиль, который я хочу достичь.

Я попытался манипулировать осью внутри события legendItemClick, но выбор правильной оси и установление их видимого значения не получилось. Как я могу решить эту проблему?

+0

FYI: Вторая «Диаграмма» является простой HTML Table - ничего общего с Highcharts – Neysor

ответ

1

Я думаю, что у вас есть два варианта:

  • Поиграйте с margins - сделать их фиксированные
  • установить min и max для оси, так что метки будут оставаться на графике: example

, если вы не знаете значения min/max при запуске, вы можете изменить их в легендеItemClick следующим образом:

plotOptions: { 
     series: { 
      events: { 
       legendItemClick: function() { 
        var temperatur = this.chart.series[0]; 
        var taupunkt = this.chart.series[1]; 
        var other = this.name=="Lufttemperatur"?taupunkt:temperatur; 
        var element = this; 
        if(this.name == "Lufttemperatur" || this.name == "Taupunkt") { 
         if(this.visible && !other.visible) { 
          //both will be invisible soon 
          this.chart.yAxis[0].update({ 
           min:element.yAxis.min, 
           max:element.yAxis.max 
          }); 
         } else { 
          //one will be visible 
          this.chart.yAxis[0].update({ 
           min:null, 
           max:null 
          }); 
         } 
        } 
       } 
      } 
     }, 
} 

Это будет только установить мин/макс, если нет один из вашей серии видимой, но удаляет его, если у вас есть один видимый

Смежные вопросы