饼图不适用于使用AngularJS和nvd3的Json Data

时间:2014-09-29 22:36:46

标签: javascript json angularjs nvd3.js

问题,

我想使用API​​中的动态数据显示饼图,但它根本不起作用。好像我有一个硬编码数据,它完全正常。

我创建了一个Plunker

 <nvd3-pie-chart
        data="exampleDataPieChart"
        id="toolTipExample2"
        x="xFunction()"
        y="yFunction()"
        width="150"
        tooltips="true">
    </nvd3-pie-chart>

http://plnkr.co/edit/Ve9X22X7RAuRGpA74tiB?p=preview

我正在使用github API并希望为用户存储库中使用的语言绘制饼图

请看一下,让我知道我在哪里做错了

由于

1 个答案:

答案 0 :(得分:1)

Plunkr

2件事:您的JSON格式与exampleDataPieChart不匹配,以及AngularJS不知道何时在内部运行$scope.$apply()

修复#1:匹配格式

var exampleDataPieChart = [{"key":"One","y":5},{"key":"Two","y":2},{"key":"Seven","y":9}]

VS

var collectedData = [{"key":["JavaScript","CSS"],"y":[142531,205009]}]

修复#2:让AngularJS知道您通过创建本地var data来更新数据,然后再将其设置为&#39;准备就绪,通过运行$scope.$apply()触发$scope.collectedData = data