2016-04-18 10 views
0

LineChart mit Zeitskala d3.time.format wird in der Größe des Fensters angepasst. lineWithFocusChart hat nie Fehler auf Unentschieden, aber bei der Größenänderung wirft es viele:nvd3 lineWithFocusChart Ungültiger Wert Fehler beim Ändern der Größe

d3.js:8756 Error: Invalid value for <rect> attribute width="NaN"

Manchmal ist der Fehler stoppt auf mouseup, aber oft ist es hält werfen nach Resize getan wird, was zu einem Speicherverlust beträgt.

Ich bin auf der Suche nach einem Arbeitsbeispiel für diesen Diagrammtyp, der Datum/Uhrzeit im responsiven Layout zeigt, oder empfohlene Methode für die Behandlung von Zeitdaten mit Fokus Brush Resizing.

Dinge, die ich habe versucht:

  • parseDate mit() auf meine Daten - keine Änderung

  • verwenden unterschiedliche Fristen - keine Änderung

  • Satzdiagramm Übergang zum 0 - keine Änderung

das Datum s sind Javascript Datum Objekte - also new Date() Skalieren nvd3 mit:

   nv.utils.windowResize(function() { 
        chart.update(); 
       }); 

Antwort

0

Abhilfe mit neuester nvd3:

chart.focusEnable(false); 
chart.update(); 
chart.focusEnable(thisWidget.showZoomStrip); 

Wo thisWidget.showZoomStrip ist meine lokale Einstellung zum Anzeigen der Bürste so das funktioniert für regelmäßige Liniendiagramme. Dies ist möglich, weil neuste (1.8.2) das LineChart und das LineWithFocusChart kombiniert, so dass ich den Pinsel während der Größenänderung ausschalten kann.

+0

Diese Problemumgehung ist auch nicht so gut - Neuzeichnen Diagramm nach der Größenänderung hat immer noch die Fehler. Durch Klicken auf die Legende werden sie gestoppt. Gehen wir zu sehen, was durch die Legende ausgelöst wird, die anders ist – davidjmcclelland

+0

Weitere Forschung - Nvd3 Pinsel ist eine Implementierung von d3 Pinsel, ich könnte einige Methoden direkt verwenden, um die Fehler bei der Verwendung von Zeitskala zu vermeiden. – davidjmcclelland

+0

Alle Skalierungs- und Tick-Formatierungen wurden aus .x2Axis entfernt - dh die Standardwerte von d3 pinsel, die von nvd3 zur Verfügung gestellt werden: no change – davidjmcclelland

Verwandte Themen