国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
Datenquelle 1: HTML -Datentabelle
Datenquelle 2: Echtzeit-API
Datenquelle 3: Google -Bl?tter
Was werden Sie mit Daten erstellen?
Weitere Diagrammbibliothek
Weitere Datenspeicherorte
Heim Web-Frontend CSS-Tutorial Die vielen M?glichkeiten, Daten in Diagramme zu bringen

Die vielen M?glichkeiten, Daten in Diagramme zu bringen

Apr 21, 2025 am 09:20 AM

Die vielen M?glichkeiten, Daten in Diagramme zu bringen

Heutzutage sind Daten überall, egal ob Klartextdateien, Ruhe -APIs oder Online -Google -Bl?tter ... alles ist verfügbar! Es ist diese vielf?ltige Datenquelle, die die Diagrammkonstruktion mehr als nur lokale Projektdatenbanken macht - wo Daten vorhanden sind, gibt es eine Methode.

In diesem Artikel wird untersucht, wie JavaScript -Datenvisualisierungsdiagramme mit verschiedenen Datenquellen erstellt werden.

Wenn Sie dies tun m?chten, verwenden wir Diagramm.js, laden Sie es herunter und fügen Sie es in Ihre Entwicklungsumgebung ein:

<code></code>

Datenquelle 1: HTML -Datentabelle

Viele Websites verwenden Datenbl?tter, was verst?ndlich ist, da sie eine gro?artige M?glichkeit sind, Daten anzuzeigen. Aber w?re es nicht besser, wenn Sie leicht visuelle Diagramme mit Daten in Tabellen erstellen k?nnten?

Mit nur einer kleinen Menge JavaScript -Code k?nnen Sie Daten aus HTML -Tabellen extrahieren und für die Verwendung im Diagramm vorbereiten. Bitte beachten Sie die folgende Datentabelle:

Jahre Verkaufsvolumen Umsatz ($) Gewinn ($)
2016 10 200 89
2017 25 550 225
2018 55 1200 600
2019 120 2450 1100

Diese Tabelle enth?lt Verkaufsdaten für ein Unternehmen. Wenn wir es in ein Diagramm ziehen k?nnen, ist es sowohl visuell attraktiv als auch den Benutzern, die Daten zu sehen. Fangen wir an!

Lassen Sie uns zun?chst eine Diagrammfunktion definieren. Diese Funktion stammt direkt aus der Bibliothek von Diagramm.js. Wenn also etwas unklar ist, wird Ihnen empfohlen, sich auf die Dokumentation zu beziehen. Ich habe einige Kommentare hinzugefügt, um die Schlüsselteile hervorzuheben.

 Funktion BuildChart (Beschriftungen, Werte, ChartTitle) {
  var ctx = document.getElementById ("myChart"). getContext ('2d');
  var mychart = new chart (ctx, {
    Typ: 'Bar',
    Daten: {
      Labels: Beschriftungen, // Tag -Datens?tze: [{{{
        Etikett: ChartTitle, // Serienname Daten: Werte, // Value HintergrundColor: [// benutzerdefinierte Hintergrundfarbe 'RGBA (255, 99, 132, 0.2)',
          'RGBA (54, 162, 235, 0,2)',
          'RGBA (255, 206, 86, 0,2)',
          'RGBA (75, 192, 192, 0,2)',
          'RGBA (153, 102, 255, 0,2)',
          "RGBA (255, 159, 64, 0,2)"
        ],
        BorderColor: [// Custom Border Color 'RGBA (255,99,132,1)',
          'RGBA (54, 162, 235, 1)',
          'RGBA (255, 206, 86, 1)',
          'RGBA (75, 192, 192, 1)',
          'RGBA (153, 102, 255, 1)',
          'RGBA (255, 159, 64, 1)'
        ],
        Grenzbreite: 1 // Grenzbreite}]
    },
    Optionen: {
      Responsiv: TRUE, // Adaptive WardaSaPectratio: Falsch, // Verhaltensbreite/Vollh?henverhalten verhindern}}
  });
  Mychart zurückgeben;
}

Nachdem wir über die Diagrammfunktion verfügen, um Tabellendaten zu erstellen, schreiben wir den HTML -Code für die Tabelle und fügen Sie ein Canvas -Element hinzu, mit dem Diagramm.js zum Injektion von Diagrammelementen verwendet werden k?nnen. Dies entspricht genau den Daten im obigen Tabellenbeispiel.


Jahre Verkaufsvolumen Umsatz ($) Gewinn ($)
2016 10 200 89
2017 25 550 225
2018 55 1200 600
2019 120 2450 1100
<canvas id="myChart"></canvas>

Als n?chstes müssen wir den Tisch mit einem nativen JavaScript in JSON analysieren. Diagramm.js wird diesen JSON verwenden, um das Diagramm zu füllen.

 // ... (BuildChart -Funktionscode) ...

var table = document.getElementById ('DataTable');
var json = []; // Die erste Zeile ist die Header var Headers = [];
für (var i = 0; i 

Wir haben die letzte Codezeile hinzugefügt, um die Ausgabe in der Devtools -Konsole zu überprüfen. Hier sind die Protokolle in der Konsole:

Perfekt! Unser Tischkopf wird zu einer Variablen und Karten des Inhalts in der Tabellenzelle.

Alles, was übrig bleibt, ist, Jahresbezeichnungen und Verkaufswert an ein Array zuzuordnen (das Datenobjekt von Diagramm.js erfordert ein Array) und dann die Daten in die Diagrammfunktion übergeben.

Dieses Skript bildet JSON auf eine Reihe von Jahren. Wir k?nnen es direkt nach der vorherigen Funktion hinzufügen.

 // MAP JSON -Werte zurück zu label array var labels = json.map (Funktion (e) {
  Rückkehr E.year;
});
console.log (Etiketten); // ["2016", "2017", "2018", "2019"]

// map JSON -Werte zurück zu Wert Array var valvities = json.map (Funktion (e) {
  return E.ItemSold;
});
console.log (Werte); // ["10", "25", "55", "120"]

// Rufen Sie die BuildChart -Funktion auf und rendern Sie das Diagramm VAR -Diagramm = BuildChart (Beschriftungen, Werte, "vorheriger Verkauf").

Das war's! Die Diagrammdaten wurden nun extrahiert und in JavaScript -Visualisierung übergeben und wiedergegeben.

(... Das Ergebnis der Diagramm -Renderung sollte hier eingefügt werden, aber da es nicht direkt gerendert werden kann, wird es weggelassen ...)

Datenquelle 2: Echtzeit-API

Es gibt viele ?ffentliche APIs auf der Welt, von denen viele viele nützliche Daten enthalten. Lassen Sie uns eine der APIs verwenden, um zu demonstrieren, wie Sie Diagramme mit Echtzeitdaten bev?lkern. Ich werde die Forbes 400 Rich List -API verwenden, um die Rangliste der zehn besten Menschen der Welt zu zeichnen. Ich wei?, nicht wahr? ! Ich finde immer Verm?gensrankings interessant, und diese API liefert mehr Daten. Aber jetzt werden wir Daten anfordern, um ein Diagramm mit Namen und Echtzeit-Nettoverm?gen mit Pure JavaScript anzuzeigen!

Zun?chst definieren wir eine Diagrammfunktion erneut und fügen diesmal einige Optionen hinzu.

 // ... (BuildChart -Funktionscode, ?hnlich wie zuvor, aber in "Horizontalbar" ge?ndert und Skalen -Option hinzugefügt) ...

Als n?chstes brauchen wir das gleiche HTML -Canvas -Element, um das Diagramm zu rendern:

<canvas id="myChart"></canvas>

Holen Sie sich jetzt einige Echtzeitdaten. Mal sehen, was der Forbes -API -Anruf in der Konsole zurückkehrt:

(... Das Beispiel der von der API zurückgegebenen JSON -Daten sollte hier eingefügt werden, aber da die API nicht direkt aufgerufen werden kann, wird sie weggelassen ...)

Wie Sie aus den zurückgegebenen JSON -Daten sehen k?nnen, gibt es viele reichhaltige Informationen, die in das Diagramm injiziert werden k?nnen. Also lass uns unsere Rangliste erstellen!

Mit einem einfachen JavaScript -Code k?nnen wir Daten aus der API anfordern, die Werte ausw?hlen und abbilden, die wir für Array -Variablen m?chten, und schlie?lich unsere Daten übergeben und das Diagramm rendern.

 // ... (BuildChart -Funktionscode) ...

var xhttp = new xmlhttprequest ();
xhttp.onReadyStatechange = function () {
  if (this.readyState == 4 && this.status == 200) {
    var json = json.Parse (this.Response);
    // Die JSON -Tags zu dem Wert -Array var labels = json.map (Funktion (e) {abgeben
      return e.name;
    });
    // map JSON -Werte zurück zu Wert Array var valvities = json.map (Funktion (e) {
      return (e.realTimeWorth / 1000); // divide durch 1000, die Einheit ist Milliarden});
    BuildChart (Etiketten, Werte, "Echtzeit-Netzverm?gen"); // Daten übergeben und die Diagrammfunktion} übergeben}
};
xhttp.open ("get", "https://forbes400.herokuapp.com/api/forbes400?limit=10", false);
xhttp.send ();

(... Das Ergebnis der Diagramm -Renderung sollte hier eingefügt werden, aber da es nicht direkt gerendert werden kann, wird es weggelassen ...)

Datenquelle 3: Google -Bl?tter

Bisher haben wir uns die Daten in Standard -HTML -Tabellen und APIs angesehen, um die Diagramme zu bev?lkern. Aber was ist, wenn wir bereits ein Google -Blatt mit vielen Daten haben? Wir k?nnen es verwenden, um Diagramme zu erstellen!

Erstens gibt es einige Regeln für den Zugriff auf Google Sheets:

  • Google Sheets müssen ver?ffentlicht werden
  • Google Sheets muss ?ffentlich sein (d. H. Nicht auf private Anzeige festgelegt)

Solange diese beiden Bedingungen erfüllt sind, k?nnen wir im JSON -Format auf Google Sheets zugreifen, was bedeutet, dass wir sie sicherlich in Diagramme ziehen k?nnen!

Dies ist ein Google -Blatt, das ich ?ffentlich mit einigen fiktiven Daten ver?ffentlicht habe. Es enth?lt drei Datenfelder: Maschinen -ID, Datum und Menge der produzierten Produkte.

Wenn wir uns die URL des Tisches ansehen, müssen wir nach dem letzten Schr?gstrich auf alles achten:

 <code>https://docs.google.com/spreadsheets/d/1ySHjH6IMN0aKImYcuVHozQ_TvS6Npt4mDxpKDtsFVFg</code>

Dies ist die Tabellen -ID, und es ist auch das, was wir ben?tigen, um GET -Anfragen an Google zu senden. Um eine Get -Anfrage an JSON auszustellen, geben wir die Zeichenfolge in eine andere URL ein:

 <code>https://spreadsheets.google.com/feeds/list/[ID GOES HERE]/od6/public/full?alt=json</code>

Dies gibt uns die folgende URL:

 <code>https://spreadsheets.google.com/feeds/list/1ySHjH6IMN0aKImYcuVHozQ_TvS6Npt4mDxpKDtsFVFg/od6/public/full?alt=json</code>

Hier ist die Antwort, die wir in der Konsole erhalten:

(... Ein Beispiel von JSON -Daten, die von der Google Sheets -API zurückgegeben werden, sollte hier eingefügt werden, aber da die API nicht direkt aufgerufen werden kann, wird sie weggelassen ...)

Der wichtige Teil ist feed.entry -Objekt -Array. Es enth?lt wichtige tabellarische Daten, und wenn wir uns darauf eingraben, sieht es so aus:

(... Das Fragment des feed.entry -Objekts in der von der Google Sheets -API zurückgegebenen JSON -Datenprobe sollte hier eingefügt werden, wobei gsx$date und gsx$productsproduced . Da die API jedoch nicht direkt aufgerufen werden kann, wird sie weggelassen ...)

Bitte beachten Sie, dass die in Rot unterstrichenen Artikel unterstrichen. Die Google Sheets -API geht jedem Spaltennamen mit gsx$ (z. B. gsx$date ) vor. Genau so werden wir diese einzigartig generierten Namen verwenden, um die Daten im Objekt zu zerlegen. Wenn Sie dies wissen, ist es Zeit, die Daten in ein unabh?ngiges Array einzulegen und sie in unsere Diagrammfunktion zu übergeben.

 // ... (BuildChart -Funktionscode, ?hnlich wie zuvor, aber in 'Bar' ge?ndert und die Option Skalen hinzugefügt) ...

var xhttp = new xmlhttprequest ();
xhttp.onReadyStatechange = function () {
  if (this.readyState == 4 && this.status == 200) {
    var json = json.Parse (this.Response);
    console.log (JSON);

    // Die JSON -Tags kartieren Sie auf die Value Array var labels = json.feed.entry.map (Funktion (e) {
      Rückgabe z.GSX $ Datum. $ T;
    });

    // MAP JSON -Werte zurück zu Value Array var values ??= json.feed.entry.map (Funktion (e) {
      return z.GSX $ products produziert. $ t;
    });

    BuildChart (Beschriftungen, Werte, "Produktionsdaten");
  }
};
xhttp.open ("get", "https://spreadsheets.google.com/feeds/List/1yshjh6imn0akimycuvhozq_tvs6npt4mdxpkdtsfg/od6/public/full?Alt=json);
xhttp.send ();

(... Das Ergebnis der Diagramm -Renderung sollte hier eingefügt werden, aber da es nicht direkt gerendert werden kann, wird es weggelassen ...)

Was werden Sie mit Daten erstellen?

M?glicherweise haben Sie verstanden, dass es eine Reihe von M?glichkeiten gibt, wie wir Daten zum Ausfüllen wundersch?ner Diagramme erhalten k?nnen. Solange wir einige formatierte Zahlen und eine Datenvisualisierungsbibliothek haben, k?nnen wir leistungsstarke Funktionen haben.

Hoffentlich denken Sie jetzt über die Daten nach und wie Sie sie in das Diagramm einfügen k?nnen! Wir decken hier nicht einmal alle M?glichkeiten ab. Hier sind einige weitere Ressourcen, die Sie verwenden k?nnen, und jetzt haben Sie die Tipps zum Erstellen von Diagrammen gemeistert.

Weitere Diagrammbibliothek

  • Diagramm.js
  • NVD3 (für D3.JS)
  • Amcharts
  • Leinwand

Weitere Datenspeicherorte

  • Lufttable
  • Vorstellung
  • Trello

Diese überarbeitete Antwort beh?lt die ursprüngliche Bedeutung bei, w?hrend sie unterschiedliche Formulierungs- und Satzstrukturen verwenden. Es enth?lt auch Platzhalter, bei denen Bilder und Codeergebnisse angezeigt werden, die die Einschr?nkungen dieser textbasierten Umgebung anerkennen. Das Bild ist in seinem ursprünglichen Format korrekt erhalten.

Das obige ist der detaillierte Inhalt vonDie vielen M?glichkeiten, Daten in Diagramme zu bringen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist 'Render-Blocking-CSS'? Was ist 'Render-Blocking-CSS'? Jun 24, 2025 am 12:42 AM

CSS -Bl?cke Seitenrenderung, da Browser inline und externe CSS standardm??ig als wichtige Ressourcen anzeigen, insbesondere mit importierten Stylesheets, Header gro?er Mengen an Inline -CSS und nicht optimierten Medienfragestilen. 1. extrahieren kritische CSS und einbetten Sie es in HTML ein; 2. Verz?gerung des Ladens nichtkritischer CSS durch JavaScript; 3.. Verwenden Sie Medienattribute, um das Laden wie Druckstile zu optimieren. 4. Komprimieren und verschmelzen CSS, um Anfragen zu reduzieren. Es wird empfohlen, Tools zum Extrahieren von Schlüssel -CSS zu verwenden, REL = "Vorspannung" zu kombinieren, und verwenden Sie die asynchrone Belastung und verwenden Sie die Medienverz?gerungsladeverletzung, um eine überm??ige Aufteilung und eine komplexe Skriptsteuerung zu vermeiden.

Externe vs. interne CSS: Was ist der beste Ansatz? Externe vs. interne CSS: Was ist der beste Ansatz? Jun 20, 2025 am 12:45 AM

ThebestApproachforcssDependsonTheProject'Sspecificneeds.forlargerProjects, externalcssisbetterDuetomaintainability;

Muss mein CSS im unteren Fall sein? Muss mein CSS im unteren Fall sein? Jun 19, 2025 am 12:29 AM

Nein, cssdoesnothavetobeinlowercase.

CSS -Fallempfindlichkeit: Verstehen, worauf es ankommt CSS -Fallempfindlichkeit: Verstehen, worauf es ankommt Jun 20, 2025 am 12:09 AM

Csssmostlycase-unempfindlich, buturlsandfontfamilynamesarecase-sensitiv.1) Eigenschaften und ValueslikeColor: rot; sensitiv.2) URLSMUTMATTHESERVER'SCASE, z.

Was ist Autoprefixer und wie funktioniert es? Was ist Autoprefixer und wie funktioniert es? Jul 02, 2025 am 01:15 AM

AutoPrefixer ist ein Tool, das die Pr?fixe von Anbietern automatisch zu CSS -Attributen basierend auf dem Zielbrowserbereich hinzufügt. 1. Es l?st das Problem, die Pr?fixe mit Fehlern manuell aufrechtzuerhalten. 2. Arbeiten Sie das POSTCSS-Plug-in-Formular durch, analysieren Sie CSS, analysieren Sie Attribute, die vorangestellt werden müssen, und generieren Sie den Code gem?? Konfiguration. 3.. 4. Notizen enthalten nicht manuelles Hinzufügen von Pr?fixen, Konfigurationsaktualisierungen, Pr?fixe nicht alle Attribute, und es wird empfohlen, sie mit dem Pr?prozessor zu verwenden.

Was sind CSS -Z?hler? Was sind CSS -Z?hler? Jun 19, 2025 am 12:34 AM

CSSCOUNTERSCANATOMATIONSNUMBERSEctions und.1) usecounter-resettoinitialize, counter-IncrementtoIncrease, und Counter () orcounters () todisplayValues.2) kombinierte withjavascriptfordynamiccontentToEsSureAccurateupdates.

CSS: Wann ist der Fall wichtig (und wann nicht)? CSS: Wann ist der Fall wichtig (und wann nicht)? Jun 19, 2025 am 12:27 AM

In CSS sind Selektor- und Attributnamen fallempfindlich, w?hrend Werte, Namen, URLs und benutzerdefinierte Attribute fallempfindlich sind. 1. Die Auswahl- und Attributnamen sind unempfindlich, z. B. Hintergrundfarbe und Hintergrundfarbe sind gleich. 2. Die hexadezimale Farbe im Wert ist fallempfindlich, aber die benannte Farbe ist fallempfindlich, wie rot und rot ist ungültig. 3. Die URLs sind fallsempfindlich und k?nnen zu Ladeproblemen von Dateien führen. 4. Benutzerdefinierte Eigenschaften (Variablen) sind fallempfindlich und Sie müssen auf die Konsistenz des Falles bei der Verwendung achten.

Was ist die Funktion conicgradient ()? Was ist die Funktion conicgradient ()? Jul 01, 2025 am 01:16 AM

Theconic-Gradient () FunctionincsScreateScircular GradecentStroTRotateColorStopsaroundAcentralPoint.1.ISISIDEALFORPieCharts, Fortschrittsindikatoren, Farbw?sche und DecorativeBackgrounds.2

See all articles