Die Methode zum erneuten Zeichnen eines Diagramms, wenn Datenänderungen stark von der von Ihnen verwendeten Diagrammbibliothek abhängt. Es gibt keine einzige universelle Antwort. Die allgemeinen Grundsätze sind jedoch in den meisten Bibliotheken ähnlich:
1. Aktualisieren Sie die Datenquelle:
Zunächst müssen Sie die zugrunde liegenden Daten ändern, die das Diagramm verwendet. Dies könnte:
* Ersetzen des gesamten Datensatzes: Wenn sich Ihre Daten vollständig ändert, ersetzen Sie wahrscheinlich das vorhandene Datenarray oder das Objekt durch eine neue.
* Vorhandene Daten ändern: Wenn sich nur Teile der Daten ändern, aktualisieren Sie die spezifischen Elemente in Ihrem Datenarray oder Objekt.
2. Lösen Sie eine erneute Ausrichtung:
Hier kommt die spezifische Charting -Bibliothek ins Spiel. Hier sind Beispiele für einige beliebte Bibliotheken:
* chart.js: Diagramm.js verarbeitet normalerweise Aktualisierungen automatisch, wenn Sie die Daten direkt in der Eigenschaft "Data" der Diagrammkonfiguration ändern. Für komplexere Updates müssen Sie jedoch möglicherweise `chart.Update ()` aufrufen, um explizit eine Neuausrichtung auszulösen.
`` `JavaScript
// Angenommen, 'MyChart' ist deine Diagramm.js -Diagramminstanz
mychart.data.datasets [0] .data =[10, 20, 30, 40, 50]; // Daten aktualisieren
mychart.update (); // RECRAW WIRK
`` `
* d3.js: D3.JS ist deklarativ, was bedeutet, dass Sie das Erscheinungsbild des Diagramms basierend auf den Daten beschreiben. Um neu zu zeichnen, müssen Sie den Code, der die Diagrammelemente erstellt, mithilfe der aktualisierten Daten erneut ausführen. Dies beinhaltet häufig die Verwendung von `selectAll ()`, um Elemente auszuwählen und dann ihre Attribute basierend auf den neuen Daten zu aktualisieren. Dies ist wesentlich manueller als andere Bibliotheken.
`` `JavaScript
// Beispiel D3.js Update (vereinfacht):
D3.Select ("#mychart") // Diagrammbehälter auswählen
.Selectall ("RECT") // Rechtecke auswählen (Balken in einem Balkendiagramm, zum Beispiel)
.Data (newdata) // neue Daten binden
.Attr ("Höhe", d => d * 10); // Höhenhöhe basierend auf neuen Daten aktualisieren
`` `
* Highcharts: Ähnlich wie bei Diagramm.js aktualisiert Highcharts häufig automatisch, wenn Sie die Daten direkt ändern. `Chart.Redraw ()` ist jedoch eine zuverlässige Methode, um ein Neuwagen explizit zu erzwingen.
`` `JavaScript
// Annahme von "Diagramm" ist Ihre Highcharts -Diagramminstanz
Diagramm.Series [0] .setData ([10, 20, 30, 40, 50]);
Diagramm.Redraw ();
`` `
* Plotly: Plotly verwendet die Methoden "Plotly.react" oder "Plotly.Update", um das Diagramm mit aktualisierten Daten neu zu zeichnen. `Plotly.React` ersetzt die Daten und das Layout des Diagramms vollständig, während` Plotly.Update` nur die angegebenen Spuren oder Attribute angegeben haben.
`` `JavaScript
Plotly.react ('mydiv', {// 'mydiv' ist die Container -ID des Diagramms
x:[1,2,3],
Y:[4,5,6]
});
`` `
* revharts: Recharts, eine auf React-basierte Diagrammbibliothek, funktioniert ähnlich wie Diagramm.js:Sie aktualisieren die an die Diagrammkomponente übergebenen Daten und die Komponenten-Neuanschläge automatisch.
3. Behandeln Sie große Datensätze effizient:
Für sehr große Datensätze kann das wiederholte Neuzug das gesamte Diagramm langsam sein. Betrachten Sie diese Optimierungen:
* Inkrementelle Updates: Anstatt das gesamte Diagramm neu zu zeichnen, aktualisieren Sie nur die Teile, die sich geändert haben.
* Datenvirtualisierung: Rendern Sie nur den sichtbaren Teil der Daten.
* optimierte Datenstrukturen: Verwenden Sie effiziente Datenstrukturen, um den Datenzugriff und die Manipulation zu beschleunigen.
Kurz gesagt, die genaue Methode hängt von Ihrer ausgewählten Diagrammbibliothek ab. Wenden Sie sich an die Dokumentation, um die richtige Methode zu aktualisieren und Ihre Diagramme neu zu zeichnen. Priorisieren Sie immer die Aktualisierung der Daten zuerst und verwenden Sie dann die spezifische Neuabfunktion der Bibliothek.