Графики линейных рядов дают ошибку при изменении размера - старшие графики - PullRequest
2 голосов
/ 30 марта 2019

Я использовал старшие графики однолинейный график серии . Кажется, все работает хорошо, но когда я изменяю размер страницы (просто чтобы проверить отзывчивость или просто на мобильном телефоне). Значения исчезают. Я вижу ошибку в консольных логах.

enter image description here

Вот так я генерирую график

Highcharts.stockChart('nav-chart', {

 tooltip: {
        pointFormat:"{point.y:.3f}\u20ac"
  },
  chart: {
    type: 'line',
    zoomType: 'x',
    pinchType: 'x',
    panning: false,
    <?php if (is_front_page()){ ?>
    height: 700,
    <?php } else { ?> 
    height: 500, 
    events: {
      load: updateLegendLabel 
    }    
    <?php } ?> 
  },

updateLegendLabel имеет некоторые вычисления, которые генерируют метки.

 var chrt = !this.chart ? this : this.chart;
  chrt.update({
    legend: {
      useHTML: true,
      symbolPadding: 0,
      symbolWidth: 0,
      symbolHeight: 0,
      symbolRadius: 0,    
      labelFormatter: function() {


        var lastVal = this.yData[this.yData.length - 1],
          chart = this.chart,
          xAxis = this.xAxis,
          points = this.points,
          avg = 0,
          counter = 0,
          min, max;
... there is some business logic down there

points var становится нулевым, когда я изменяю размер страницы. Почему это так? Нужно ли обновлять набор данных или как?

1 Ответ

1 голос
/ 30 марта 2019

Логика на стороне сервера и на стороне клиента не годится. Лучше разделить логику, используя это. Ниже только идея, а не точный код. Но это можно исправить, если вы предоставите полный код, отделяющий логику вашего сервера от логики на стороне клиента.

<script>
//before graph area started
var dataA = '<?php echo $dataA;?>';
var dataB = '<?php echo $dataB;?>';
//graph logic started
// your graph code which can use above variables
// but the variable need to be available can be evaluated from your draw script.

</script>

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

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