0

我将解析的 xml 数据推送到 nvd3 图表的值和标签。出于某种原因,我的一个离散条形图,即下拉菜单中“按评论排名前 5 位的 SIC”下的一个,没有做它应该做的事情。y 轴范围设置为所有点的最小 y 值,因此它使所有条形的大小相同。我已经从我制作的其他图表中复制了设置,所以我不确定出了什么问题(我不认为这可能是一个错字,我的其他离散条形图正在工作)。我尝试更改 xml 文件中的值sample4.xml,但大小仍然保持不变。条形图,或者更确切地说是 y 轴,恢复到正确格式的唯一方法是,当我在控制器本身中手动将数值更改为“900”时,但我不能这样做,因为我需要这些值从 xml 文件中推送。我缺少的配置有问题吗?或者也许有一种方法可以强制 y 轴将最大范围值设置为数据集中的最大值?

这是我的plnkr

我尝试过在线研究,但我没有在论坛中发现任何此错误的实例。任何帮助,将不胜感激。

4

1 回答 1

0

每次更新数据时,请尝试使用 angular-nvd3 库提供的 api 对象调用它的 updateWithData(data) 方法。(如果你也更新选项,你会调用 updateWithOptions (updatedOptions)。

在您的 .html 中分配一个 api 对象。(确保您没有事先在控制器范围内创建对象名称-barApi,这是我犯的错误。):-

<nvd3 options="optionsBar" data="barData" api="barApi"></nvd3>

在您的下拉更改事件中,您可以拨打如下电话:-

$scope.barApi.updateWithData(data)

其中 data 是您的数据对象。另请参阅以下线程上的 [krispo 于 2014 年 9 月 16 日发表评论] 的评论。 https://github.com/krispo/angular-nvd3/issues/37

于 2015-08-23T07:29:24.923 回答