So erstellen Sie ein einfaches Diagramm in JavaScript

So erstellen Sie ein einfaches Diagramm in JavaScript
Diagramme sind besser als Textdaten, um eine Art Umfrage anzuzeigen oder Rohdaten zu kategorisieren. Benutzer können Grafiken mit Hilfe verschiedener SVG -Elemente erstellen, die gruppiert sind, um Daten zu präsentieren. In HTML wird verwendet, um ein SVG -Element anzuzeigen und a Tag wird verwendet, um mehrere SVG -Elemente zusammen zu gruppieren. Mit JavaScript zum Berechnen von Elementen, die wir in der Grafik kategorisieren müssen, ist jedoch ziemlich komplex, sie in einem linearen Diagramm anzeigen.

Dieser Artikel wird eine Reihe von Elementen annehmen, die in das Auto fahren und ihre Menge in einer Umfrage gefunden wird. Danach berechnet es ihre Prozentsätze aus den Gesamtautos in der Umfrage und zeigt sie dann im Diagramm mit ihren Prozentsätzen auf dem linearen Graphen an.

Schritt 1: Einrichten des HTML -Dokuments

Die HTML erfordert nicht viel Zeug, um darin erledigt zu werden. Wir müssen einfach einen leeren erstellen <div> Dies wird durch JavaScript -Code geändert, und JavaScript zeichnet auch das Diagramm in dieser DIV auf. Verwenden Sie daher die folgenden Zeilen:


Dies ist ein linearer Diagramm, der Prozentsätze der Autos aus einer Umfrage präsentieren

Zu diesem Zeitpunkt zeigt das HTML -Dokument nur das folgende Ergebnis an:

Die DIV ist nicht sichtbar, da es derzeit keine anderen Elemente oder Text enthält.

Schritt 2: Einrichten des JavaScript -Code

Erstellen Sie zunächst ein Elementarray. Dieses Array wird den Namen des Autos und die Anzahl der Autos enthalten. Verwenden Sie dazu einfach die folgenden Zeilen:

lass ElementArray = [];
ElementArray [0] = ["Mercedes", 8];
ElementArray [1] = ["Audi", 13];
ElementArray [2] = ["BMW", 11];
ElementArray [3] = ["Porsche", 25];

Danach werden wir eine Funktion erstellen, die das Diagramm im HTML -Dokument zeichnen wird. Diese Funktion wird benannt "Plotgraph", und es wird die drei Parameter dauern:

Funktionsplotgraph (Array, Graphwidth, div)
// Die nächsten Zeilen werden in diesem Körper enthalten sein

Wie Sie sehen können, nimmt diese Funktion das Element, aus dem die Rohdaten ausgewählt werden sollen.

In dieser Funktion ist es erstes, die folgenden Variablen zu erstellen:

Sei TotalCars = 0;
lass Calpercentage = 0;
lass Calwidth = 0;

Die Sache ist:

  • Gesamtautos werden verwendet, um die Anzahl der Autos aufzubewahren
  • Calpercentage wird verwendet, um den Prozentsatz jedes Autos zu berechnen
  • Calwidth wird verwendet, um die Größe des Balkens (gemäß dem Prozentsatz) des Graphen zu bestimmen, der innerhalb der in den Parametern übergebenen Breite platziert werden soll

Um die Gesamtzahl der Autos zu berechnen, verwenden Sie die folgenden Codezeilen:

für (i = 0; i < array.length; i++)
TotalCars += ParseInt (Array [i] [1]);

Erstellen Sie anschließend eine Variable, die als Ausgabe bezeichnet wird. Diese Variable wird verwendet, um eine Tabelle auf der HTML -Webseite zu erstellen. Daher enthält es HTML -Code darin:

lass output = '';

Derzeit dies Ausgang Die Variable enthält nur die Abfrage für den Beginn der Tabelle. Später werden weitere Abfragen darin angehängt, die die vollständige Tabelle mit einem Diagramm darstellen.

Verwenden Sie danach einfach die folgenden Codezeilen:

für (i = 0; i < array.length; i++)
Calpercentage = Math.Runde ((Array [i] [1] * 100) / Totalcars);
Calwidth = Math.Runde (Graphwidth * (Kaliforentage / 100));
Ausgabe += '';

Im obigen Code -Snippet:

  • Dies für Loop wird durch die Elemente eins nacheinander iterieren
  • Prozentsätze jedes Autos werden berechnet
  • Und dann wird die Größe des Prozentsatzes berechnet
  • Zuletzt die Ausgang wird mit der HTML -Abfrage angehängt, um die nächste Balken des Diagramms zu berechnen
  • Tag erstellt ein SVG -Element auf der HTML -Webseite
  • Gruppen SVG -Elemente zusammen unter einem angegebenen Namen

Kommen Sie danach einfach aus der für die Schleife heraus und enden Sie das End -Tag der Tabelle innerhalb der Ausgang Variable

Ausgabe += "
$ Array [i] [0] $ Calpercentage%
";

Zu diesem Zeitpunkt enthält die Ausgangsvariable die vollständige HTML -Abfrage, um das lineare Diagramm aus den bereitgestellten Rohdaten zu zeichnen. Alles, was zu tun ist, ist, auf die DIV zuzugreifen und sie gleich zu setzen Ausgang Variable und auch die Gesamtzahl der Autos anzeigen:

div.Innerhtml = '$ output
Gesamtautos: $ Totalcars';

Und damit die Funktion Plotgrapgh ist komplett. Um die Grafik zu zeichnen, rufen Sie einfach die an Plotgraph Funktion und in die Argumente übergeben wie:

Plotgraph (ElementArray, 500, Dokument.getElementById ("GraphDiv"));

Der vollständige JavaScript -Code lautet wie:

lass ElementArray = [];
ElementArray [0] = ["Mercedes", 8];
ElementArray [1] = ["Audi", 13];
ElementArray [2] = ["BMW", 11];
ElementArray [3] = ["Porsche", 25];
Funktionsplotgraph (Array, Graphwidth, div)
Sei TotalCars = 0;
lass Calpercentage = 0;
lass Calwidth = 0;
für (i = 0; i < array.length; i++)
TotalCars += ParseInt (Array [i] [1]);

lass output = '';
für (i = 0; i < array.length; i++)
Calpercentage = Math.Runde ((Array [i] [1] * 100) / Totalcars);
Calwidth = Math.Runde (Graphwidth * (Kaliforentage / 100));
Ausgabe += '';

Ausgabe += "
$ Array [i] [0] $ Calpercentage%
";
div.Innerhtml = '$ output
Gesamtautos: $ Totalcars';

Plotgraph (ElementArray, 500, Dokument.getElementById ("GraphDiv"));

Ausführen des HTML-Dokuments in einem Webbrowser zeigt nun die folgende Ausgabe an:

Und das lineare Diagramm wurde in der Darstellung des div Präsentation der Prozentsätze verschiedener Autos aus einer Umfrage.

Abschluss

Mit Hilfe von JavaScript ist es möglich, ein Diagramm in einem HTML -Dokument zu erstellen. Dafür muss der Benutzer die nutzen Tag zum Erstellen von SVG -Elementen und der Mehrere SVG -Elemente unter einem bestimmten Namen zu gruppieren. Es ist jedoch nicht einfach, ein Diagramm auf einer HTML -Webseite zu erstellen, da es für einen neuen Anfänger sehr entmutigend sein kann. In diesem Artikel wurde ein lineares Diagramm mit JavaScript erstellt, und jeder Schritt wurde gründlich erklärt.