我想在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);
}
});
}
}
})
有人可以帮忙吗?
答案 0 :(得分:0)
要更新已呈现的图表,您需要使用API的此部分中的函数:https://api.highcharts.com/class-reference/classes.list(Chart.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
}