2013-12-17 14 views
11

Bu zaman dizisi grafiğinin x eksenini d3 js kullanarak biçimlendirirken sorun mu yaşıyorsunuz? İşted3 zaman ölçeği x ekseni unix zaman damgasıyla

çalışan bir örnektir: http://tributary.io/inlet/7798421

sorunu: Sadece bakılmaksızın belirlenen kene toplam no, benim x ekseninde 1 tarih (etiket) görebilirsiniz. 4-6 keneler ile x ekseninde zamanı nasıl görüntüleyebilirim?

DÜZENLEME: Çözüm, Lars'a teşekkürler.

var data = [ 
    {"time": 1387212120, "open": 368, "close": 275, "high": 380, "low": 158}, 
    {"time": 1387212130, "open": 330, "close": 350, "high": 389, "low": 310}, 
    {"time": 1387212140, "open": 213, "close": 253, "high": 289, "low": 213}]; 

data.forEach(function(d){ d.time = new Date(d.time * 1000) }); 

Sonra varsayılan biçiminde, onu kabul d3 veya özelleştirebilirsiniz:

İşte UTC benim zamanıdır.

cevap

24

Sorun, Javascript Date nesnelerinin (zaman damgalarınızı dolaylı olarak dönüştürdüğünüz) nesnelerin saniye cinsinden, ancak milisaniye cinsinden zaman damgası olmamasıdır. Tüm zaman değerlerinizi 1000 ile çarptığınızda çalışır.

Örnek tam here. Ayrıca, Date s açıklamasını dönüştürmeyi de yaptım.

+0

X-ekseni olarak Time ile mükemmel, ilk deneyim, onu çalışmak için inanılmaz özlü ve basit bir çözüm. Teşekkürler. – DeBraid

+0

Çok yardımsever ve zarif, teşekkürler. –

İlgili konular