Erste Schritte mit Chart.js: Kuchen-, Donut- und Bubble -Diagramme
In diesem Tutorial wird erläutert, wie man mit Diagramm.js Kuchen-, Ring- und Bubble -Diagramme erstellt. Zuvor haben wir vier Chart -Arten von Charts gelernt.
Erstellen Sie Kuchen- und Ringdiagramme
Kreisdiagramme und Ringdiagramme sind ideal, um die Proportionen eines Ganzen anzuzeigen, das in verschiedene Teile unterteilt ist. Zum Beispiel kann ein Kreisdiagramm verwendet werden, um den Prozentsatz der männlichen Löwen, weiblichen Löwen und jungen Löwen in einer Safari oder den Prozentsatz der Stimmen zu zeigen, die verschiedene Kandidaten bei der Wahl erhalten.
Kreisdiagramme eignen sich nur zum Vergleich einzelner Parameter oder Datensätze. Es ist zu beachten, dass das Kreisdiagramm keine Entitäten ohne Wert zeichnen kann, da der Winkel des Lüfters im Kreisdiagramm von der numerischen Größe des Datenpunkts abhängt. Dies bedeutet, dass eine Entität mit einem Anteil von Null nicht in der Tabelle angezeigt wird. In ähnlicher Weise können negative Werte nicht auf Kreisdiagrammen gezeichnet werden.
In Diagramm.js können Sie ein Kreisdiagramm erstellen, indem Sie type
Typtaste in pie
einstellen, und ein Ringdiagramm, indem Sie type
auf doughnut
einstellen. Hier ist ein Beispiel für das Erstellen von beiden Diagrammen:
var piechart = neues Diagramm (Votescanvas, { Typ: 'Kuchen', Daten: VotesData, Optionen: Diagramme }); var Doughnutchart = neues Diagramm (Votescanvas, {{ Typ: 'Donut', Daten: VotesData, Optionen: Diagramme });
Lassen Sie uns ein Kreisdiagramm erstellen, das Ölexportdaten (Einheit: Milliarden US -Dollar) für die fünf wichtigsten Ölexporteure im Jahr 2015 erstellen.
var data = { Etiketten: [ "Saudi-Arabien", "Russland", "Irak", "VAE", "Kanada" ], Datensätze: [ { Daten: [133.3, 86,2, 52,2, 51,2, 50,2], Hintergrundkolor: [ "#Ff6384", "#63ff84", "#84ff63", "#8463ff", "#6384ff" ] }] };
Sie können verschiedene Schlüssel verwenden, um die Anzeige des obigen Diagramms zu steuern, z. B. ein cutout
, der eine Zahl oder eine Zeichenfolge sein kann. Wenn der Wert als Pixelwert angesehen wird, wird der Wert als Prozentsatz des Gesamtradius angesehen. Sie können rotation
Rotationsschlüssel verwenden, um den Startwinkel des Diagramms anzugeben. In ähnlicher Weise können Sie auch circumference
Schaltungsschlüssel verwenden, um den Winkel anzugeben, in dem das Diagramm beim Aufstellen der Daten scannt. Beide Winkel werden eher in Grad als in Radians ausgedrückt.
Zwei verschiedene Animationen können beim Zeichnen eines Diagramms aktiviert werden. Sie können den animateRotate
-Schlüssel verwenden, um anzugeben, ob das Diagramm eine Rotationsanimation haben soll. In ähnlicher Weise können Sie auch den animateScale
-Schlüssel verwenden, um anzugeben, ob das Ringdiagramm aus der Mitte skaliert werden sollte. Der Wert von animateRotate
ist standardmäßig true
, und der Wert von animateScale
ist standardmäßig false
.
Wie üblich können Sie backgroundColor
, borderColor
und borderWidth
verwenden, um die Hintergrundfarbe, die Randfarbe und die Grenzbreite aller Datenpunkte zu steuern. Ebenso können die Schwebewerte für all diese Eigenschaften mithilfe hoverBackgroundColor
, hoverBorderColor
und hoverBorderWidth
gesteuert werden.
Im Folgenden ist der Code zum Erstellen eines Ringdiagramms für die obigen Daten. Stellen Sie den Wert der rotation
auf -90
ein, um den Startpunkt auf 90 Grad gegen den Uhrzeigersinn zu drehen.
var oildata = { Labels: ["Saudi -Arabien", "Russland", "Irak", "VAE", "Kanada"], Datensätze: [ { Daten: [133.3, 86,2, 52,2, 51,2, 50,2], BackgroundColor: ["#ff6384", "#63ff84", "#84ff63", "#8463ff", "#6384ff"], BorderColor: "Schwarz", Grenzbreite: 2 } ] }; var chartopions = { Rotation: -90, Ausschnitt: "45%", Plugins: { Titel: { Anzeige: wahr, Position: "unten", Text: "Major Oil Exporteure im Jahr 2015", Schriftart: { Größe: 32 } }, Legende: { Position: "links", Ausrichtung: "Start" } }, Animation: { Animaterotate: Falsch, AnimatesCale: Richtig } }; var donutchart = neuer Diagramm (Oilcanvas, { Typ: "Donut", Daten: oildata, Optionen: Diagramme });
Erstellen Sie ein Blasendiagramm
Blasendiagramme werden verwendet, um drei Datenabmessungen in einem Diagramm zu zeichnen oder anzuzeigen ( P1 , P2 , P3 ). Die Position und Größe der Blase bestimmen die Werte dieser drei Datenpunkte. Die horizontale Achse repräsentiert den ersten Datenpunkt (P1), die vertikale Achse repräsentiert den zweiten Datenpunkt ( P2 ), und der Bereich der Blase wird verwendet, um den Wert des dritten Datenpunkts ( P3 ) darzustellen.
Es ist zu beachten, dass die Größe des dritten Datenpunkts nicht durch den Radius der Blasen, sondern durch ihren Bereich dargestellt wird. Die Fläche des Kreises ist proportional zum Quadrat des Radius. Dies bedeutet, dass Sie sicherstellen müssen, dass der von Ihnen gezeichnete Blasenradius proportional zur Quadratwurzel der Größe des dritten Datenpunkts ist.
In Diagramm.js können Sie ein Blasendiagramm erstellen, indem Sie den Wert des type
-Taste für bubble
festlegen. Hier ist ein Beispiel dafür, wie man ein Bubble -Diagramm erstellt:
var bubblechart = neues Diagramm (popcanvas, { Typ: 'Bubble', Daten: Popdata, Optionen: Diagramme });
Verwenden wir Blasendiagramme, um das Gewicht verschiedener Elemente im Raum zu zeichnen. Die Daten des Diagramms müssen im Objektformat übergeben werden. Das Datenobjekt muss über die folgende Schnittstelle verfügen, um korrekt zu zeichnen.
{ X:<number> Anwesend y:<number> Anwesend R:<number> }</number></number></number>
Ein wichtiger Unterschied zwischen einem Blasendiagramm und allen anderen Diagrammen besteht darin, dass der Blasenradius nicht mit dem Diagramm skaliert wird.
Beispielsweise nimmt die Breite eines Balkens in einem Balkendiagramm entsprechend der Größe des Diagramms zu oder nimmt ab. Dies wird mit dem Blasendiagramm nicht passieren. Der Radius der Blase entspricht immer der genauen Anzahl der von Ihnen angegebenen Pixel. Dies ist sinnvoll, da in diesem Diagrammtyp der Radius tatsächlich verwendet wird, um die realen Daten darzustellen.
Lassen Sie uns ein Blasendiagramm erstellen, um die Anzahl der Hirschherden an verschiedenen Stellen im Wald zu zeichnen.
var popdata = { Datensätze: [ { Etikett: ["Hirschherde"], Daten: [ {x: 100, y: 0, r: 10}, {x: 60, y: 30, r: 20}, {x: 40, y: 60, r: 25}, {x: 80, y: 80, r: 30}, {x: 20, y: 30, r: 25}, {x: 0, y: 100, r: 5} ], BackgroundColor: "#ff9966" } ] };
Da der Radius hier proportional zur Quadratwurzel der tatsächlichen Zahl ist, beträgt die Anzahl der Hirsche bei (80, 80) die 36 -fache der Anzahl der Hirsche bei (0, 100).
Wie alle anderen Diagrammtypen können Sie backgroundColor
, borderColor
und borderWidth
verwenden, um die Hintergrundfarbe, die Grenzfarbe und die Grenzbreite der gezeichneten Punkte zu steuern. In ähnlicher Weise können Sie auch hoverBackgroundColor
, hoverBorderColor
und hoverBorderWidth
-Schlüssel verwenden, um die Farbfarbe der Hover -Hintergrund, die Hover -Rand -Farbe und die Hover -Randbreite anzugeben.
Sie können auch hoverRadius
verwenden, um den zusätzlichen Radius beim Schweben verschiedene Blasen hinzuzufügen. Denken Sie daran, dass dieser Radius dem ursprünglichen Wert hinzugefügt wird, um die schwebende Blase zu zeichnen. Wenn der Radius der ursprünglichen Blase 10 beträgt und hoverRadius
auf 5 eingestellt ist, beträgt der Radius der Blase auf der Schwebefläche 15.
var popdata = { Datensätze: [ { Etikett: ["Hirschherde"], Daten: [ {x: 100, y: 0, r: 10}, {x: 60, y: 30, r: 20}, {x: 40, y: 60, r: 25} ], BackgroundColor: "#9966ff", HoverbackgroundColor: "#fffff", HoverborderColor: "#9966ff", Hoverborderwidth: 5, Hoverradius: 5 }, { Etikett: ["Giraffe -Nummer"], Daten: [ {x: 80, y: 80, r: 30}, {x: 20, y: 30, r: 25}, {x: 0, y: 100, r: 5} ], BackgroundColor: "#ff6600", HoverbackgroundColor: "#fffff", HoverborderColor: "#ff6600", Hoverborderwidth: 5, Hoverradius: 5 } ] }; var chartopions = { Plugins: { Titel: { Anzeige: wahr, Position: "unten", Text: "Anzahl der Tiere in verschiedenen Hotspots", Schriftart: { Größe: 20 } }, Legende: { Position: "unten", Ausrichtung: "Zentrum" } }, Layout: { Polsterung: 20 } };
Die obigen Parameter erstellen das folgende Blasendiagramm.
Zusammenfassen
In diesem Tutorial haben Sie drei weitere in Diagramm.js verfügbare Diagrammtypen gelernt. Sie sollten nun in der Lage sein, den entsprechenden Diagrammtyp auszuwählen, um die Daten zu zeichnen und bestimmte Werte für verschiedene Schlüssel festzulegen, um das Erscheinungsbild zu steuern. Im nächsten Tutorial lernen Sie, wie Sie Skalen für verschiedene Diagrammtypen manipulieren.
Das obige ist der detaillierte Inhalt vonErste Schritte mit Chart.js: Kuchen-, Donut- und Bubble -Diagramme. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der Umfang von JavaScript bestimmt den Zugangsumfang von Variablen, die in globale, Funktions- und Blockebene unterteilt sind. Der Kontext bestimmt die Richtung davon und hängt von der Funktionsaufrufmethode ab. 1. Scopes umfassen globaler Umfang (überall zugänglich), Funktionsumfang (nur innerhalb der Funktion gültig) und Blockebene (LET und const sind innerhalb von {} gültig). 2. Der Ausführungskontext enthält das variable Objekt, die Bereichskette und die Werte davon. Dies weist auf globale oder undefinierte in der normalen Funktion hin, die Methode richtet sich auf das Anrufobjekt, der Konstruktor auf das neue Objekt und kann auch explizit durch Anruf/Anwendung/Bindung angegeben werden. 3.. Verschluss bezieht sich auf Funktionen, die auf externe Bereiche zugreifen und sich erinnern. Sie werden häufig zur Kapselung und zum Cache verwendet, können aber verursachen

Um den Wert des HTML -Eingangsfelds zu erhalten, besteht der Kern darin, das entsprechende Element durch die DOM -Operation zu finden und das Wertschild zu lesen. 1. Verwenden Sie das Dokument. Nach dem Hinzufügen einer ID zur Eingabe können Sie das Element abrufen und den Wert durch diese Methode lesen. 2. Verwenden Sie QuerySelector, um flexibler zu sein, und Sie können Elemente basierend auf Attributen wie Name, Klasse, Typ usw. auswählen. 3.. Sie können Eingabe- oder Ereignishörer hinzufügen, um interaktive Funktionen zu erzielen, z. B. den Erhalt von Eingabeinhalten in Echtzeit; 4. Achten Sie auf das Timing der Skriptausführung, die Rechtschreibfehler und das Beurteilungen von Null und stellen Sie sicher, dass das Element vorhanden ist, bevor Sie auf den Wert zugreifen.

Es gibt zwei Kernmethoden, um den ausgewählten Optionsknopfwert zu erhalten. 1. Verwenden Sie QuerySelector, um das ausgewählte Element direkt zu erhalten, und verwenden Sie die Eingabe [name = "Your-Radio-Name"]: Überprüfter Selektor, um das ausgewählte Element zu erhalten und das Wertattribut zu lesen. Es ist für moderne Browser geeignet und hat einen präzisen Code. 2. Verwenden Sie das Dokument. Darüber hinaus müssen Sie auf die Schreibweise des Namensattributs, die Behandlung von nicht ausgewählten Situationen und die dynamische Belastung des Inhalts achten

Um JavaScript zum Erstellen eines sicheren Sandbox-Iframe zu verwenden, verwenden Sie zunächst das Sandbox-Attribut von HTML, um das Iframe-Verhalten zu begrenzen, z. Zweitens durch Hinzufügen spezifischer Token wie Zulassungen zum Entspannen von Berechtigungen nach Bedarf; Kombinieren Sie dann Postmessage (), um eine sichere Cross-Domänen-Kommunikation zu erreichen und gleichzeitig Nachrichtenquellen und -daten zu überprüfen. Vermeiden Sie schließlich häufige Konfigurationsfehler, wie z.

Die Kompositionapi in VUE3 eignet sich besser für komplexe Logik- und Typableitung, und Optionsapi eignet sich für einfache Szenarien und Anfänger. 1. Optionsapi organisiert Code nach Optionen wie Daten und Methoden und hat eine klare Struktur, aber komplexe Komponenten werden fragmentiert. 2. Die Zusammensetzung verwendet ein Setup, um die verwandte Logik zu konzentrieren, die der Wartung und Wiederverwendung förderlich ist. 3. Compositionapi realisiert konfliktfreie und parameterizierbare logische Wiederverwendung durch komponierbare Funktionen, was besser ist als Mixin; 4. COMPOSECTI hat eine bessere Unterstützung für Typscript und eine genauere Typableitung; 5. Es gibt keinen signifikanten Unterschied in der Leistung und des Verpackungsvolumens der beiden; 6.

Die Debugging komplexer JavaScript -Anwendungen erfordert systematische Verwendung von Tools. 1. Setzen Sie Breakpoints und bedingte Haltepunkte, um verdächtige Prozesse abzufangen, z. 2. Aktivieren Sie die Blackboxing-Funktion, um die Interferenz der Bibliothek von Drittanbietern zu blockieren. 3.. Verwenden Sie Debugger -Aussagen, um den Eintrag des Debugs zu kontrollieren, der auf dem Umwelturteil basiert. 4. Verfolgen Sie die Anrufverbindung über CallStack, analysieren Sie den Ausführungspfad und den variablen Status und lokalisieren Sie so die Hauptursache des Problems effizient.

Es gibt einen wesentlichen Unterschied zwischen den Webworkers und Javatheads von JavaScript in der gleichzeitigen Verarbeitung. 1. JavaScript nimmt ein Single-Thread-Modell an. Webworker ist ein unabhängiger Thread, der vom Browser bereitgestellt wird. Es ist geeignet, zeitaufwändige Aufgaben auszuführen, die die Benutzeroberfläche nicht blockieren, aber das DOM nicht bedienen können. 2. Java unterstützt echtes Multithreading von der Sprachebene, die über die Thread-Klasse erstellt wurde und für eine komplexe gleichzeitige Logik und die serverseitige Verarbeitung geeignet ist. 3.. Webworker verwenden Postmessage (), um mit dem Hauptfaden zu kommunizieren, der sehr sicher und isoliert ist. Java -Threads können Speicher teilen, sodass Synchronisierungsprobleme aufmerksam werden müssen. V.

Das Typ -Casting ist das Verhalten der automatischen Konvertierung eines Werttyps in einen anderen Typ in JavaScript. Zu den allgemeinen Szenarien gehören: 1. Bei Verwendung von Operatoren, wenn eine Seite eine String ist, wird die andere Seite ebenfalls in eine Zeichenfolge konvertiert, wie z. B. '5' 5. Das Ergebnis ist "55"; 2. Im booleschen Kontext werden nicht-Boolenische Werte implizit in boolesche Typen wie leere Zeichenfolgen, 0, Null, undefined usw. konvertiert, die als falsch angesehen werden; 3.. Null nimmt an numerischen Operationen teil und wird in 0 umgewandelt, und undefined wird in NAN umgewandelt. 4. Die durch implizite Umwandlung verursachten Probleme können durch explizite Konvertierungsfunktionen wie Nummer (), String () und Boolean () vermieden werden. Das Beherrschen dieser Regeln hilft
