nvd3を使用した簡単なグラフを表示しています。文字列の日付から書式を設定するときにNaNが表示されます。明示的なjavascriptの日付でコードを使用すると(var testdataのコメントのように)。グラフが正しいことが示されます。ここに私のコードです。しかし、私は文字列を使いたいと思いますが、ここで何が間違っていますか?nvd3で日付をフォーマットする際にエラーが発生しました
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link href="novus-nvd3-153163a/build/nv.d3.css" rel="stylesheet" type="text/css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.2/d3.min.js" charset="utf-8"></script>
<script src="novus-nvd3-153163a/build/nv.d3.js"></script>
<script src="novus-nvd3-153163a/examples/lib/stream_layers.js"></script>
<style>
text {
font: 12px sans-serif;
}
svg {
display: block;
}
html, body, {
margin: 0px;
padding: 0px;
height: 100%;
width: 100%;
}
#chart1 {
width : 600px;
height: 400px;
}
</style>
</head>
<body class='with-3d-shadow with-transitions'>
<div id="chart1" ><svg></svg></div>
<script>
var dates = [new Date(2013,1,1).getTime(), new Date(2014,1,1).getTime(), new Date(2015,1,1).getTime()];
//var testdata = [{"key":"Sales","values":[{"x":dates[0],"y":2972948},{"x":dates[1],"y":2659151},{"x":dates[2],"y":11381859}]},{"key":"Rentability","values":[{"x":dates[0],"y":32.9},{"x":dates[1],"y":30.6},{"x":dates[2],"y":78.5}]}];
var testdata = [{"key":"Sales","values":[{"x":"2013-1-1","y":2972948},{"x":"2014-1-1","y":2659151},{"x":"2015-1-1","y":11381859}]},{"key":"Rentability","values":[{"x":"2013-1-1","y":32.9},{"x":"2014-1-1","y":30.6},{"x":"2015-1-1","y":78.5}]}];
testdata[0].type = "line";
testdata[0].yAxis = 1;
testdata[1].type = "line";
testdata[1].yAxis = 2;
nv.addGraph(function() {
var chart = nv.models.multiChart()
.margin({top: 30, right: 60, bottom: 50, left: 70})
.color(d3.scale.category10().range());
chart.xAxis.tickFormat(function(d) {
console.log(d);
return d3.time.format('%Y')(new Date(d));
});
chart.xAxis.tickValues(dates);
chart.yAxis1.tickFormat(d3.format(',.1f'));
chart.yAxis2.tickFormat(d3.format(',.1f'));
d3.select('#chart1 svg')
.datum(testdata)
.transition().duration(0).call(chart);
return chart;
});
</script>
</body>
</html>
説明をよくお読みください。コメントアウトされた行は**動作しないように見えますが、Javascriptの日付の行はコメントアウトされません。 –
ありがとう、私は他の行をコメントアウトします。 –