我面临c3指令重新加载数据和更改图表显示类型的问题。请看我在http://plnkr.co/edit/wWJx3zU3Sm1cN9ZCtvoh?p=preview的柱塞。
为了重新加载数据,我使用了$scope.refreshInData函数,对于更改图表类型,我使用的是$scope.transform函数。但不知怎么的,这些都不起作用。从Github上的给定示例中,我尝试使用transform函数来更改无法使其工作的图表类型。任何帮助请..。
$scope.transform = function(filterSelected, preChartName) {
alert('inside change Chart ' + preChartName);
c3SimpleService['#' + preChartName].transform(filterSelected, filterSelected);
// preChartName.load({ data.type : filterSelected });
}发布于 2015-01-28 12:29:49
C3 transform()可以接受一个参数,在您的情况下,它应该接受。
对于$scope.transform,您应该像这样使用它:
c3SimpleService['#' + preChartName].transform(filterSelected.value);注意2件事:
至于$scope.refreshInData()问题则略有不同。在这里,您只需要修复一件事,那就是不是直接使用它的ID,而是通过c3SimpleService服务获取图表。这将允许通过AngularJS层进行访问:
c3SimpleService['#' + preChartName].load({ columns : cityData });您可以看到它在普朗克中工作。
发布于 2016-11-28 09:25:10
您需要设置一个范围变量,例如: isChart值true/false。您可以在ng-if条件中使用此范围。对于每一个请求/更改,您都需要在请求成功之后更改它的false,使其成为现实。此外,您还需要在每次更改/请求时重置图形数据数组。它工作得很好。
https://stackoverflow.com/questions/28191802
复制相似问题