2016-11-07 6 views
0

Ich erstellen Liniendiagramme aus Daten mit D3. Ich benutze D3's d3.svg.axis() übergeben. TickValues ​​ Alles funktioniert gut, bis die Start-/Endzeiten meines Diagramms die Änderung in der Sommerzeit, z. So 30. Oktober dieses Jahres @ 02:00 Uhr. Dann kann ich XaXis nicht so zeigen, wie ich es möchte. Wenn ich die .tickValues ​​auf halbem Weg ändere (z. B. nach 2 Uhr), dann erzeugt es einfach eine große Lücke (Oktober) oder die Werte überschneiden sich (April). Die Diagrammlinien selbst machen weiterhin gut. Es ist nur ein Problem mit der xAxis. Dies sollte nur eine kosmetische Veränderung sein, aber es könnte tiefer gehen. Im Moment würde ich gerade wie das Diagramm die Linien zu machen, wie es der Fall ist, sondern sehen die xAchse erscheinen schön und glatt wie dieseWie D3 xAxis korrekt während der Sommerzeit ändern kann ändern

01:57 01:58 01:59 01:00 01:01 01:02

oder wie dieser im Sommer

01:57 01:58 01:59 03:00 03:01 03:01

... withtout es die Skala Rendering ticks einander überlappend oder unterzogen wird, ein großer Raum!

+0

wäre ein Bild schön, wenn Sie Ihre Frage bearbeiten würden. Aber auch die Achse selbst müsste geändert werden, da die lokale Zeit an den Diskontinuitäten der DST-Übergänge nichtlinear ist. Ich bin mir nicht sicher, ob D3 das kann oder nicht. –

Antwort

0

... die Antwort am Ende war eine benutzerdefinierte tick-Format-Funktion zu implementieren und diese geht in d3.svg.axis().tickFormat(myCustomTickFormatFunction)

Verwandte Themen