2013-06-03 13 views
10

Günün daha iyi bir bölümünü, ilk soruğumu stackoverflow'ta yayınlamam kadar iyi bir Tarih ekseni histogramı almaya çalışarak geçirdim.d3 + crossfilter: Tarih ekseni pixelthin çubuklarını oluşturur

bars are too thin

ekseni ve yığma ancak barlar neden yokken (benim için) hayır için gerçekten ince, benim istediğim gibi yoludur. Diğer bir deyişle, bazı yardımları gerçekten takdir ediyorum.

var jsonstr = [{"timestamp": "2013-06-13T11:04:24.729Z"},{"timestamp": "2013-06-17T11:03:24.729Z"},{"timestamp": "2013-06-17T11:02:24.729Z"},{"timestamp": "2013-06-19T11:02:14.129Z"}]; 

var ndx = crossfilter(jsonstr); 

var timestampD = ndx.dimension(function (d) { 
    return new Date(d.timestamp); 
}); 

var timestampDG = timestampD.group(function (d) { 
    return d3.time.day(d); 
}); 

var barChart = dc.barChart("#dc-bar"); 
barChart.width(500) 
    .height(250) 
    .dimension(timestampD) 
    .group(timestampDG) 
    .x(d3.time.scale().domain([(new Date(2013,05,12)), (new Date(2013,05,20))]).nice(d3.time.day)) 
    .xAxis().tickFormat(function (x) { 
     return x.getDate() + "/" + (x.getMonth()+1); 
    }); 

dc.renderAll(); 

cevap

13

Sorun nasıl aslında düşünüyorum: Burada

bir küçültülmüş versiyonu (ancak ben zorluklar d3 + crossfilters adına ise oldukça eminim, dc.js kütüphane kullanıyorum) var dc.js kullanıyorsunuz; Eğer olmalıdır barchart units hangi bir hüküm yoktur bu deneyin:. Başka bu sorunu yaşıyor herkes için

barChart 
    .width(500) 
    .height(250) 
    .dimension(timestampD) 
    .xUnits(d3.time.days) 
    .ect 
+0

Çok lekeli! Bu hile yaptı. Çok teşekkürler! –

+2

Geçen ay bu sorundan 5 saat boyunca harcadım; Bir başkasını acıdan kurtardığına sevindim. –

1

, kimin için Adem'in cevabı şey yapmak için görünmüyor, sen elasticX yok emin olun yaptığım gibi doğru olarak ayarla.

+1

Teşekkürler! Zaman ölçeğimle mücadele ediyordum (hiçbir şey gösterilmeyecek) ultil sadece yorumunuza rastladı. –