nvd3.jsライブラリを使用して、 jQuerys関数または関数stackedAreaChart
を使用してWebサービスからフェッチされたデータを使用してを作成する際に問題が発生します。Webサービスからデータを取得していますが、グラフにデータを取得できません。静的データを試してみましたが、これは機能しますが、またはを使用すると問題が発生します。$.getJSON
d3.json
$.getJSON
d3.json
私は何が間違っているのですか?そして、これを行うためのより良い方法はありますか?グラフィックを作成するための(データの傾向を示すための)より良いフレームワークはありますか?これに関する優れたリソースを見つけることができないので、助けてくれてありがとう!:)
<script>
var chart;
var data = [{
"key": "HTTP 200",
"values": getData()
}];
setupGraph();
function setupGraph() {
nv.addGraph(function() {
chart = nv.models.stackedAreaChart()
.x(function(d) { return d[0] })
.y(function(d) { return d[1]/100 })
.color(d3.scale.category10().range())
.clipEdge(false);
chart.xAxis
.tickFormat(function(d) {
return d3.time.format('%H:%M')(new Date(d))
});
chart.yAxis
.tickFormat(d3.format(',1f'));
d3.select('#chart1 svg')
.datum(data)
.transition().duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
}
function getData(){
var arr = [];
d3.json('http://localhost:8080/api', function(inndata){
for(var i in inndata){
var dataarr = new Array();
dataarr[0] = new Date(inndata[i].date);
dataarr[1] = inndata[i].count;
arr.push(dataarr);
//arr.push({x: new Date(inndata[i].date), y: inndata[i].count});
}
return arr;
}
</script>
The json string lookis like this:
[{"date": "2013-01-07 09:01", "count": 2}, {"date": "2013-01-07 05:02", "count": 2}, }]