线形系列图在调整大小时出现错误-Highcharts

时间:2019-03-30 14:37:17

标签: php jquery highcharts

我使用了高图single line series graph。看来一切正常,但是当我调整页面大小时(只是检查响应性还是仅在移动设备上)。值消失。我可以在控制台日志中看到错误。

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在调整页面大小时变为null。为什么呢?我需要重新更新数据集还是什么?

1 个答案:

答案 0 :(得分:1)

嵌套服务器和客户端逻辑不好。更好的方法是这样分隔逻辑。波纹管只是出于想法而不是确切的代码。但是,如果您提供了将服务器逻辑与客户端逻辑分开的完整代码,则可以解决此问题。

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

然后在图形脚本中使用这些变量。 因为在调整浏览器大小时,图形正在重绘,并且在图形重绘时其外观数据不可用。但是,如果使用上述逻辑,则每次重绘时都可以使用数据