以编程方式更新Angular nvd3中的LineWithFocusChart画笔

时间:2015-07-07 14:01:19

标签: angularjs nvd3.js angularjs-nvd3-directives

我正在使用" LineWithFocusChart"在Angular-nvd3指令中。该指令的链接是here

现在我需要以编程方式更改此图表的焦点,而不是使用下面的焦点图表。对于简单的nvd3元素,这个问题的答案是in this stackoverflow question。但我需要在此图表的Angular指令中实现相同的功能。

我浏览了GitHub上的文档和问题,但无济于事。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

画笔更改的调度功能如下:

function (e) {
    $timeout(function () {
        $scope.tc.api.getScope().chart.brushExtent([e.extent[0], e.extent[1])
    }, 400)
}

$ scope.tc.api表示您希望操作的其他图表的api。它需要添加到图表指令中作为' api =" tc.api"'并且在操作之前在控制器中声明。

超时很重要,因为指令在加载之前需要一些时间并且其API被激活。

编辑1 @ackuser已经为解决方案设置了一个plunkr。 http://plnkr.co/edit/0je3AsF0wdjkFWUyvl02?p=preview