【问题标题】:Angular NVD3 Y-Axis sets minimum data value as max range valueAngular NVD3 Y 轴将最小数据值设置为最大范围值
【发布时间】:2015-08-22 01:02:31
【问题描述】:

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

这是我的plnkr

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

【问题讨论】:

标签: javascript xml angularjs nvd3.js angular-nvd3


【解决方案1】:

请尝试使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 2018-06-20
    • 2013-06-08
    • 2015-05-13
    相关资源
    最近更新 更多