自动重绘Angularjs下的highStock图表

时间:2017-12-02 04:16:47

标签: angularjs highcharts angularjs-directive highstock

我想在AngularJS下创建一个highStock图表,我想通过一些按钮更改一些图表选项。但是,似乎更改选项不会自动重绘图表。我试图跟随a thread,它与highChart一起使用,但我无法使该指令适用于highStock。这是a plunker,手表触发得很好,而我不知道如何重绘图表。

  .directive('highchart', function($parse, $timeout) {
    return {
      restrict: 'E',
      template: '<div></div>',
      replace: true,
      link: function(scope, element, attrs) {
        var config = $parse(attrs.config)(scope);
        Highcharts.stockChart(element[0], config);

        scope.$watch(attrs.watch, function(newVal) {
          if (newVal) {
            console.log("here" + JSON.stringify(newVal))
            $timeout(function() {
              Highcharts.stockChart(element[0], config);
            }, 0);
          }
        });
      }
    }
  })

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

要更新已呈现的图表,您需要使用API​​的此部分中的函数https://api.highcharts.com/class-reference/classes.listChart.update()Series.addPoint()等。)。

update函数的示例https://plnkr.co/edit/X1LnekXUX0WrodQFCqMp?p=preview

    $scope.chooseUnit = function (unit) {
      $scope.chart.series[0].update({
        dataGrouping: {
          units: [[unit.name, [1]]]
        }
      });
      $scope.unitSelected = unit
    }