0
我正在使用NVD3制作多个图形。我在addGraph函数中添加了一个console.log,它添加了一个特定的图形。脚本功能在Chrome中运行一次,但在Firefox中运行正常
我想知道在我的代码中是否有错?我正确使用库吗?我不知道从哪里开始解决这个问题。
FIREFOX(所有的图表都显示正常)
共有444 添加图表这里称为
共有518 添加图表这里称为
共有572 添加图形称为这里
总计553 在此处调用添加图
共有617 添加图表这里称为
共有595 添加图表这里称为
谷歌chrome
总NaN的
总NaN的
总的NaN
总的NaN
总的NaN
添加图形在这里称为 总108
总138
总145
总146
CODE
个调用脚本
<script src="../../../data/novus/lib/d3.v2.js"></script>
<script src="../../../data/novus/nv.d3.js"></script>
<script src="../../../data/novus/src/tooltip.js"></script>
<script src="../../../data/novus/src/models/legend.js"></script>
<script src="../../../data/novus/src/models/axis.js"></script>
<script src="../../../data/novus/src/models/scatter.js"></script>
<script src="../../../data/novus/src/models/line.js"></script>
<script src="../../../data/novus/src/models/multiChart.js"></script>
在循环
<script src="../../../data/novus/nv.d3.js"></script>
<script>
var impressions = [];
var clickrate = [];
var trial_impressions = [];
var trial_clickrate = [];
var testdata = [{
"key" : "Impressions",
"type" : "line",
"values" : impressions,
"yAxis" : 1
}, {
"key" : "Clicks",
"type" : "line",
"values" : clickrate,
"yAxis" : 2
}, {
"key" : "T Impressions",
"type" : "line",
"values" : trial_impressions,
"yAxis" : 1
}, {
"key" : "T Clicks",
"type" : "line",
"values" : trial_clickrate,
"yAxis" : 2
}].map(function(series) {
series.values = series.values.map(function(d) {
return {
x : d[0],
y : d[1]
}
});
return series;
});
var chart;
nv.addGraph(function() {
console.log("Add");
chart = nv.models.multiChart().margin({
top : 30,
right : 60,
bottom : 50,
left : 70
}).x(function(d, i) {
return i
}).color(d3.scale.category10().range());
chart.xAxis.tickFormat(function(d) {
var dx = testdata[0].values[d] && testdata[0].values[d].x || 0;
if (typeof (dx) == undefined || d > 1000) {
dx = new Date(d);
} else {
dx = new Date(dx);
}
return dx ? d3.time.format('%x')(dx) : '';
});
chart.yAxis1.tickFormat(d3.format(',.1f'));
v
chart.yAxis2.tickFormat(d3.format(',.4f'));
d3.select('#chart1<?= $chartID?> svg').datum(testdata).transition().duration(500).call(chart);
return chart;
});
</script>
在图形称为
<div id='chart1<?= $chartID?>' style="width:1110px;height:300px;font-size:11px;margin-top:5px">
<svg></svg>
</div>
该代码可以帮助很多。 – gkovacs90
您需要发布您用于生成这些结果的代码 - 否则我们不知道您是否做错了任何问题 – sjmarshy
好的,会做 – Siva