2016-04-26 12 views
1

Ich habe ein nvd3 Diagramm wo ich Daten nach Tag, Woche oder Monat gruppiere. Wenn ich eine niedrige Anzahl von Werten auf der X-Achse habe, drehe ich die Achsenbeschriftung nicht, aber wenn ich eine größere Anzahl von Zecken habe, drehe ich sie so, dass sie sich nicht überlappen. Mein Problem ist, dass, wenn ich ein Diagramm nach Woche gruppiert habe mit den Tick-Etiketten gedreht und ändere es in Gruppe nach Monat die meisten Etiketten horizontal wie erwartet, mit Ausnahme von einem. Wenn ich mit den Daten spiele, sehe ich, dass ich das Problem immer mit dem Monat Februar 2016 oder Dezember 2014 bekomme. Wenn ich nach Monat gruppieren gehe, oder wenn ich die Seite aktualisiere, wird das Diagramm wie erwartet angezeigt. Siehe die Bilder unter: chart by week, chart by monthnvd3.js x-Achse dreht sich nicht alle Tickbeschriftungen nach Chart neu rendern

Hat jemand eine Ahnung, warum ich diese Art von Problem haben Sie?

Antwort

2

Nun, ich habe eine Lösung für das Problem gefunden. in der Datei nv.d3 in der Achsen-Chart-Funktion von nv.models.axis gibt es eine if-Anweisung, die ausgeführt wird, wenn Labels rotiert werden sollen (if (rotateLabels% 360) {...}). Aber wenn die Etiketten nicht drehen gesetzt gibt es keinen Code dies explizit festgelegt, so dass ich hinzugefügt, um eine andere Aussage in dieser if-Anweisung, die das Problem nach:

else { 
 
    xTicks 
 
    .attr('transform', 'rotate(0)') 
 
    .style('text-anchor', 'middle'); 
 
}