今私はかなり失われています。これは約6日間今作業していますので、少し混乱させてください。私はBigQueryから来るデータに基づいていくつかのグラフを表示するためにNVD3を使用しています。入って来るすべてのデータは正しいので、グラフの実装は、実際のJSONデータです。マルチバーチャートでは、データの各「セット」は、初期配列の下で同じ日付と同じ数の値を持つ必要があります。私のデータに基づいて、ユーザーがイベントやその日何かを記録しなかった場合に、値が欠落することがあります。jsonオブジェクトのデフォルト値は、同じ配列内の他のオブジェクトの内容に基づいています。
私がここでやろうとしていることの一般的な考え方は、最初のjsonをループし、「欠落」値を追加することです。たとえば、これは私がBigQueryのと私のAPIから抜け出す初期データのようになります。
[
"t1":{
"target": "t1",
"datapoints": [
[
16.0,
1483747200.0
],
[
10.0,
1484352000.0
]
]
},
"t2":{
"target": "t2",
"datapoints": [
[
10.0,
1483660800.0
],
[
19.0,
1484006400.0
],
[
10.0,
1484956800.0
]
]
}
]
あなたが第一の目的は、2つの値を持つデータポイントの配列を持っている、オブジェクト2は3つの値を持つデータポイントの配列を持っていることをここで見ることができます。 datapoints配列の1つのインデックスにはUNIXの日付が含まれています。オブジェクト全体のすべてのデータポイント配列には、日付を持つ配列が必要です。デフォルト値は0です。だから、フォーマットされたデータは、このようなものになります。
[
"t1":{
"target": "t1",
"datapoints": [
[
16.0,
1483747200.0
],
[
10.0,
1484352000.0
],
[
0.0,
1483660800.0
],
[
0.0,
1484006400.0
],
[
0.0,
1484956800.0
]
]
},
"t2":{
"target": "t2",
"datapoints": [
[
10.0,
1483660800.0
],
[
19.0,
1484006400.0
],
[
10.0,
1484956800.0
],
[
0.0,
1483747200.0
],
[
0.0,
1484352000.0
]
]
}
]
を私は本当にここからどこへ行くと、いかなるヘルプは非常に参考になる見当がつかない。私はこれを数日間続けてきましたが、この時点で歯車を削っています。おかげ
は基本的には、1列で見つかっていますが、他にタイムスタンプを取るべきであるが、0
に最初の値/インデックスを設定していないそれぞれの値は、私はまた、クエリはバックのみ30日間照会していることを言及する必要がありますしたがって、多くの場合、各データポイント配列は30個の配列を持ちます。
あなたは、基本的なJavaScriptのループとDateオブジェクトに精通している場合、これは簡単です。 MDNやチュートリアルでこれらを調べてみましたか? – metame
私はあらゆるところを見てきましたが、実際のコードの問題よりも論理的なものです。私はこのタイプの仕事をするためにjavascriptを使うのが最善ではない。私は各配列をループする必要があることを知っていますが、値をどうするかについてはわかりません。通常、私は数日間このことをやり直して、それを解決するために戻ってきますが、私は本当にその選択肢...締め切りを持っていません。 –
時間制約は、ms(正確)かまったく毎日ですか? – metame