gpt4 book ai didi

javascript - D3 : Uncaught ReferenceError: stream_layers is not defined

转载 作者:行者123 更新时间:2023-11-29 16:09:47 24 4
gpt4 key购买 nike

我正在使用 nvd3.js 创建一个简单的堆积条形图,如 here 所述

我在 angular 指令 中添加了链接中提到的代码,如下所示:

app.directive('stackBar', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
nv.addGraph(function() {
var chart = nv.models.multiBarChart()
/*.transitionDuration(350)*/
.reduceXTicks(true) //If 'false', every single x-axis tick label will be rendered.
/*.rotateLabels(0) */ //Angle to rotate x-axis labels.
.showControls(true) //Allow user to switch between 'Grouped' and 'Stacked' mode.
.groupSpacing(0.1) //Distance between each group of bars.

chart.xAxis
.tickFormat(d3.format(',f'));

chart.yAxis
.tickFormat(d3.format(',.1f'));

d3.select(element[0])
.datum(exampleData())
.call(chart);

nv.utils.windowResize(chart.update);
return chart;
});

//Generate some nice data.
function exampleData() {
return stream_layers(3,10+Math.random()*100,.1).map(function(data, i) {
return {
key: 'Stream #' + i,
values: data
};
});
}
}
}
});

这是我的HTML:

<td class="centered" colspan="5">
<div stack-bar>

</div>
</td>

但是,我收到以下错误:

Uncaught ReferenceError: stream_layers is not defined

知道我哪里出错了吗?

此外,'transitonDuration' 也不起作用,所以我将其注释掉了。我最初以为,这可能与 d3 版本有关,但我使用的是最新版本,但问题仍然存在。

编辑:

Huang Feng 的回答帮助我摆脱了错误。但是我没有得到任何图表,而是得到了很多文本。这是一个屏幕截图:

enter image description here

知道为什么吗?

此外,该指令位于 ng-repeat 中,这就是为什么在屏幕截图中有多行的原因。

最佳答案

这是因为您没有定义 stream_layers 函数,而且它也不是 nvd3 库中的函数。它在这里定义:

http://nvd3.org/assets/js/data/stream_layers.js

如果你想使用它,你应该在 html 中包含这个库,例如:

<script src="../stream_layers.js"></script>

如果你想要一个详细的例子,这里有一个供你引用:

http://bl.ocks.org/mbostock/3943967

关于javascript - D3 : Uncaught ReferenceError: stream_layers is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31959062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com