SVG und D3 Js: Die perfekte Kombination für datengesteuerte Vektorgrafiken
Veröffentlicht: 2022-12-10SVG oder Scalable Vector Graphics ist ein XML-basiertes Vektorbildformat für zweidimensionale Grafiken mit Unterstützung für Interaktivität und Animation. Die SVG-Spezifikation ist ein offener Standard, der seit 1999 vom World Wide Web Consortium (W3C) entwickelt wird. D3.js ist eine JavaScript-Bibliothek zur Manipulation von Dokumenten auf der Grundlage von Daten. D3 hilft Ihnen, Daten mit HTML, SVG und CSS zum Leben zu erwecken. Die Betonung von D3 auf Webstandards gibt Ihnen die vollen Möglichkeiten moderner Browser, ohne sich an ein proprietäres Framework zu binden. SVG ist das Standardformat zum Speichern von Vektorgrafiken im Web. Vektorgrafiken sind eine Art von Grafik, die mathematische Gleichungen verwendet, um das Bild zu zeichnen, anstatt ein Pixelraster. Das bedeutet, dass sie auf jede beliebige Größe skaliert werden können, ohne an Qualität zu verlieren. D3.js kann verwendet werden, um interaktive Vektorgrafiken zu erstellen, die datengesteuert sind. Das bedeutet, dass die Grafiken mit Daten aus einer Vielzahl von Quellen erstellt werden können, z. B. CSV-Dateien, JSON-Daten oder sogar Live-Daten aus einer Web-API. D3.js unterstützt auch Animationen, sodass Sie dynamische, interaktive Grafiken erstellen können, die sich im Laufe der Zeit ändern.
Eine Scalable Vector Graphics (SVG)-Datei ist ein Beispiel dafür. Diese Datei basiert auf XML und enthält Vektorgrafiken. Zusätzlich zum Zeichnen einer Vielzahl von Formen kann es Formen wie Linien, Rechtecke, Kreise, Ellipsen usw. zeichnen. Sie können ein Beispiel für D3.js erstellen, indem Sie die folgenden Schritte ausführen. In diesem Abschnitt lernen Sie ein einfaches Rechteck in SVG kennen. Im Folgenden wird gezeigt, wie Sie dasselbe Rechteck in eine beliebige Richtung erstellen. Ein Kreis kann durch ein Tag mit den folgenden Attributen identifiziert werden.
Die gebräuchlichste Methode zum Rendern von D3-Diagrammen ist die Verwendung von SVG, einem Grafikmodell , das einfach zu verwenden, aber nicht sehr reaktionsschnell ist. In den meisten Fällen können SVG-Diagramme etwa 1.000 Datenpunkte verarbeiten. Canvas ist ein Grafikmodell im Sofortmodus, das in D3 v4 verwendet wird, was bedeutet, dass Sie jetzt damit Diagramme rendern können.
Mit SVG können Sie großartige Strichzeichnungen erstellen. Es lässt sich gut für große Displays mit sehr hohen DPI-Werten skalieren, ohne viel Bandbreite zu verbrauchen. Obwohl es Mechanismen zum Anwenden einer perspektivischen Transformation und zum Entfernen verdeckter Oberflächen bereitstellt, wurde es nicht für 3D entwickelt.
Was HTML in Grafiken tut, ist genau das, was SVG in Text tut. XML-Textdateien enthalten Definitionen von SVG-Bildern und ihren zugehörigen Verhaltensweisen, sodass sie durchsucht, indiziert, mit Skripten versehen und komprimiert werden können. Sie können mit jedem Texteditor oder Zeichenprogramm gezeichnet, koloriert oder sogar bearbeitet werden.
Basiert D3 auf SVG?
Ja, d3 basiert auf SVG. D3 steht für Data-Driven Documents und verwendet Webstandards wie svg, html, css und javascript, um interaktive und dynamische Datenvisualisierungen im Browser zu erstellen.
In diesem Abschnitt verwenden Sie D3.js, um datengesteuerte Elemente zu einer Webseite hinzuzufügen. Auf diese Weise werden die Daten an diese Elemente gebunden und dann zur Visualisierung verwendet. Danach binden wir die Daten an unsere DOM-Elemente, wie wir es mit SVG-Kreisen tun werden. Um Daten an ein DOM-Element zu binden, verwenden wir den Abschnitt „D3.js zum Binden von Daten an DOM-Elemente“. Als Ergebnis haben wir drei SVG-Kreiselemente auf unserer Website: Die Kreise erscheinen jedoch nicht, weil wir die Attribute für sie in unserem Design nicht angegeben (definiert) haben. Mit D3.js v6 haben wir den Radius jedes Kreises und die ihm zugeordneten Daten definiert. Als Ergebnis wurden unserem Datensatz drei SVG-Circle-Elemente hinzugefügt, deren Radius den ihnen vom Datensatz zugewiesenen Radien entspricht.
Um den SVG-Kreis basierend auf den Daten einzufärben, müssen wir dies zuerst mit den Daten tun. In diesem Beispiel verwenden wir die Chrome-JavaScript-Konsole, um den obigen Code auszuführen. Wir konnten mehr als nur Daten generieren. Während wir es verwendet haben, um zu bestimmen, wie sie gestaltet werden sollen, haben wir es auch verwendet, um zu bestimmen, wie sie geformt werden sollen.
Was ist die Verwendung von Dom und SVG in D3?
Das Document Object Model (DOM) ist eine plattformübergreifende und sprachunabhängige Schnittstelle, die ein XML- oder HTML-Dokument als Baumstruktur behandelt, wobei jeder Knoten ein Objekt ist, das einen Teil des Dokuments darstellt. Das SVG-DOM definiert die Schnittstellen für die Interaktion mit Vektorgrafikelementen wie Formen, Text, Farbverläufen und Mustern.
Die Bibliothek für datengesteuerte Dokumente (D3) ist eine JavaScript-Bibliothek, mit der Sie Dokumente basierend auf Daten manipulieren können. HTML, CSS und sva sind nur einige der gängigen Standards, die von ihm unterstützt werden. D3 verwendet einen deklarativen Ansatz zur Elementauswahl in Verbindung mit dem Auswahlsatz von Knoten. Die erste Version von D3, die 2011 veröffentlicht wurde, ist noch in Arbeit, eine Bibliothek wird noch entwickelt. Da Elementinhalte, Attributwerte, Stile, Übergänge, dynamische Interaktionen und andere Eigenschaften dynamisch erstellt und spezifiziert werden können, können Variablen dynamisch generiert und dynamisch geändert werden. D3 verwendet auch eine Datenmethode, die ein Array von Daten verbindet und drei virtuelle Auswahlen nach der Elementauswahl zurückgibt. Wenn Datenfunktionen verwendet werden, werden die Zentrumskoordinaten und der Radius der Elemente gemäß den gebundenen Daten eingestellt.
Wenn Elemente bereits vorhanden und an Daten gebunden sind, wählen wir eine Aktualisierungsoption. Diese Methode aktualisiert vorhandene DOM-Elemente mit den neuen Daten, entfernt oder fügt jedoch keine Elemente hinzu. Wenn mehr Datensatzelemente als DOM-Elemente vorhanden sind, wird die Exit-Auswahl verwendet. Die remove-Methode von D3 kann jetzt verwendet werden, um solche Elemente zu entfernen.
Wofür wird das SVG-Tag verwendet?
Das svg-Tag wird verwendet, um die Grafiken eines sva-Vektors zu speichern. Scalable Vector Graphics (SVG) ist eine XML-basierte Sprache, die Animation und Interaktivität für zweidimensionale Grafiken bereitstellt. Zeichnen Sie Bilder mit einfachen geometrischen Figuren (Kreise, Linien, Polygonformen usw.).
Es ist ein strukturiertes XML-Bildformat (Extensible Markup Language) zum Erstellen von Bildern im Webmaßstab in Form einer XML-Datei. Im Gegensatz zu pixelbasierten Bildformaten, die auf jede Größe vergrößert oder verkleinert werden können, ohne dass die Qualität darunter leidet, sind SVGs ein vektorbasiertes Grafikformat. Sie können vergrößert werden, um auf Displays mit unterschiedlicher Anzeigedichte zu passen, klarer gedruckt werden und eine verbesserte Reaktionsfähigkeit aufweisen. Der Wert der viewBox-Eigenschaft wird berechnet, indem der Wert mit dem Wert von min-x, min-y, Breite und Höhe multipliziert wird. Gemäß der PreserveAspectRatio-Regel muss sich ein viewBox-Element in einem Ansichtsfenster mit einem anderen Seitenverhältnis als sein Element befinden. Sie können die Stylesheet-Sprache eines Dokumentfragments mithilfe von contentStyleType definieren. In SVG sind drei Arten von Grafikobjekten verfügbar: verschachtelte Transformationen, Beschneidungspfade, Alphamasken, Filtereffekte und Vorlagenobjekte.
HTML kann verwendet werden, um Bilder aus einer sva-Datei auf verschiedene Weise anzuzeigen. HTML wird allgemein als XHTML angesehen, ein XML-Dialekt, der weniger strenge Syntaxbeschränkungen als XML hat. Eine Form kann erstellt werden, indem ein Element im HTML/CSS-Bereich platziert wird. Jede Form wird beschrieben, indem verschiedene Parameter für ihre Größe und Position verwendet werden. Polylinien bestehen wie Polygonformen aus Segmenten, die miteinander verbunden sind. Da SVGs in Browsern immer häufiger verwendet werden, erscheint ein qualitativ hochwertigeres Bild in einem ansprechenderen Format. Je größer die Dateigröße, desto schneller wird das Bild auf Ihrer Website mit SVGs geladen. CSS und/oder JavaScript können verwendet werden, um SVGs einfach zu bearbeiten und zu animieren. Da sie einfacher zu verwenden sind als JPG, JPEG und PNG, können sie im Responsive Design verwendet werden.
Benutzer verlangen zunehmend, dass ihre Websites auf allen Geräten hervorragend aussehen, was sich zu einem Trend entwickelt. Mit SVG können Sie Ihre Website auf jeder Bildschirmgröße großartig aussehen lassen, egal wie groß oder klein das Gerät ist. Da das Dateiformat immer beliebter wird, werden Sie in Zukunft wahrscheinlich immer mehr Websites sehen, die es verwenden.