1

データがあります。さんが言ってみましょう:D3のすべてのデータポイント間のすべての値を調べる

date,comments 
19-Apr-2016,Today was great. 
21-Apr-2016,Today was not so great. 
1-May-2016,Interesting things happened! 

(すべての日付はもちろんの日付として解析されます)

私は5月1日2016年4月19日、2016年から毎日通過し、ひとつひとつののための要素を作りたいです次に、存在する関連データを挿入します。例:

19-Apr-2016 - Today was great. 
20-Apr-2016 - <No entry> 
21-Apr-2016 - Today was not so great. 
22-Apr-2016 - <No entry> 
... 
1-May-2016 - Interesting things happened! 

これは現在のコードです。それはかつて行い、データのすべてのポイントのための要素を作成します。

preview.selectAll("svg") 
    .append("g") 
    .data(sums) 
    .enter() 
    .append("rect") 
    // Drawing code etc. Setting height, class, color, w/e 

どうかどうかに関係なく、すべての日を通じてI doループデータが彼らのためにありますか?

+0

より多くのコード、好ましくはあなたのデータを表示する必要があります... – thatOneGuy

答えて

2

ここで私はこの問題にどのようにアプローチするのか疑似コードです。

あなたの合計オブジェクトを想像してみてはあなた

私はこのことができます。この

var start = new Date(2016, 3, 19);//19-Apr-2016 
var end = new Date(2016, 4, 1);//1-May-2016 
for (var d = start; d <= end; d.setDate(d.getDate() + 1)) { 
    //for each date append a group 
    var grp = preview.selectAll("svg").append("g") 
    var myData = //get the data from sums array for which the date is d(in iterator) 
    if(myData){ 
    grp.append("rect").style("stroke", 1) ... 
    }else { 
    //date not in the sums array. 
    } 

} 

希望好きでしょ描く私の機能で今

19-Apr-2016 - Today was great. 20-Apr-2016 - <No entry> 21-Apr-2016 - Today was not so great. 22-Apr-2016 - <No entry> ... 1-May-2016 - Interesting things happened!

によって表されるデータを格納する配列であります!

0

D3の組み込みnestはおそらくこれを行う最も簡単な方法です。

sumsを直接結合しないでください。データを日付順にグループ化してnestとし、そのグループに基づいてグラフを描画します。

+0

ねえ。私は少し質問を編集しました。多分今はもっと意味をなさないでしょう。 – cwj

関連する問題