So implementieren Sie ein horizontales Balkendiagramm mit Prozentangaben in E-Charts

So implementieren Sie ein horizontales Balkendiagramm mit Prozentangaben in E-Charts

Beispielcode

var Daten = [220, 182, 191, 234, 290, 120, 65, 444];
var Balkenbreite = 20;
var maxNum = 0;
für (var i = 0; i < Datenlänge; i++) {
    wenn (Daten[i] > maxNum) {
        maxNum = Daten[i];
    }
}
 
Option = {
    Hintergrundfarbe: 'schwarz',
    Netz: {
        oben: '10%',
        links: '20%',
        rechts: '10%',
        unten: '0%',
    },
 
    Titel:
        Text: 'Prozentspalte',
    },
    x-Achse:
        anzeigen: falsch,
    },
    yAchse: {
        Daten: Daten.map((Element, Index) => `Daten ${index}`),
        geteilte Zeile: {
            anzeigen: falsch,
        },
        Achsenbezeichnung: {
            Textstil: { Schriftgröße: '80%', Farbe: '#02afff' },
        },
        Achsenlinie: {
            anzeigen: falsch,
        },
        AchsenTick: falsch,
    },
    Serie: [
        {
            Typ: "Bar",
            Balkenbreite: Balkenbreite,
            z-Ebene: 2,
            Daten: Daten.Map (Funktion (Element) {
                zurückkehren {
                    Wert: Artikel,
                    maxNum: maxNum,
                };
            }),
            Etikett: {
                zeigen: wahr,
                Position: 'innen',
                // Entfernung: 80,
                ausrichten: "zentriert",
                Formatierer: Funktion (Parameter) {
                    // gibt params.data.realValue zurück;
                    var Prozent = Zahl((params.data.value / params.data.maxNum) * 100).toFixed(2) + '%';
                    Renditeprozentsatz;
                },
                Farbe: '#fff',
                Schriftgröße: 12,
            },
            Artikelstil: {
                Grenzradius: 10,
                Farbe: neu echarts.graphic.LinearGradient(0, 1, 1, 1, [
                    { Offset: 0, Farbe: '#395CFE' },
                    { Offset: 1, Farbe: '#2EC7CF' },
                ]),
            },
        },
        {
            Typ: "Bar",
            Balkenbreite: Balkenbreite,
            barGap: '-100%',
            Daten: Daten.Map (Funktion (Element) {
                zurückkehren {
                    realerWert: Artikel,
                    Wert: maxNum,
                };
            }),
            Etikett: {
                zeigen: wahr,
                Position: 'rechts',
                Entfernung: 80,
                ausrichten: 'rechts',
                Formatierer: Funktion (Parameter) {
                    gibt params.data.realValue + 'item' zurück;
                },
                Farbe: '#02afff',
                Schriftgröße: 18,
            },
            Artikelstil: {
                Grenzradius: 10,
                Farbe: 'rgba(3,169,244, 0.5)',
            },
        },
    ],
};

Rendern

Code-Analyse

1. Definieren Sie vor der Option ein Datenarray und verwenden Sie dann eine For-Schleife, um den Maximalwert im Array abzurufen und ihn als Variable „maxNum“ zu speichern.

2. Definieren Sie zwei Balken in der Reihe. Die Daten des ersten Balkens werden zugeordnet und der Wert wird auf die Daten in Schritt 1 gesetzt. Ein Objekttyp wird zurückgegeben. Das Objekt enthält zwei Attribute, value und maxNum (value ist ein erforderliches Attribut, maxNum ist ein benutzerdefiniertes Attribut und bei Bedarf können weitere benutzerdefinierte Attribute hinzugefügt werden). Das Attribut maxNum wird hinzugefügt, da der Formatierer des Etiketts value/maxNum verwenden muss, um den Prozentsatz zu berechnen. Dies ist das erste Mal, dass ich in der Reihe auf die Schreibmethode stoße, bei der Daten als Objekttyp zurückgegeben werden. Dies ist wirklich nützlich, um Daten für die Berechnung zu erhalten.

3. Der zweite Balken in der Reihe weist ebenfalls Daten über die Karte zu. Der Unterschied besteht darin, dass der Wert dieses Balkens vollständig auf maxNum eingestellt ist. Der zweite Balken dient als Hintergrund, was einem Fortschritt von 100 % entspricht. Der Grund, warum ein realValue-Attribut erforderlich ist, liegt darin, dass der Wert jedes Elements (220, 182, 191, 234, 290, 120, 65, 444 usw.) auf der rechten Seite der Leiste angezeigt werden muss.

4. Der erste Balken ist oben und der zweite Balken unten. Der Schlüssel ist der zlevel:2 des ersten Balkens und der barGap: '-100%' des zweiten Balkens.

Es bringt mir wirklich viel, mehr Fälle auf der offiziellen echarts-Website zu lesen.

Zusammenfassen

Dies ist das Ende dieses Artikels über die Implementierung horizontaler Balkendiagramme mit Prozentwerten in Echarts. Weitere relevante Inhalte zu horizontalen Balkendiagrammen mit Prozentwerten in Echarts finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Beispielcode für horizontales Balkendiagramm von Echarts Bar
  • Grundlegende Einführung in Echarts: Allgemeine Konfiguration von Balkendiagrammen und Liniendiagrammen

<<:  Node.js fügt den aktuellen Kampfdatensatz der MySQL-Datenbank hinzu, löscht ihn, ändert ihn und überprüft ihn

>>:  Lösung für das Problem des Springens der Textposition, wenn das Suchtextfeld den Fokus verlässt

Artikel empfehlen

MySQL-Abfrage redundanter Indizes und ungenutzter Indexoperationen

MySQL 5.7 und höhere Versionen ermöglichen die di...

Docker-Installations- und Konfigurationsschritte für das Redis-Image

Inhaltsverzeichnis Vorwort Umfeld Installieren Er...

HTML-Auszeichnungssprache - Tabellen-Tag

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

So verhindern Sie, dass sich vsftpd-Benutzer über SSH anmelden

Vorwort vsftp ist eine benutzerfreundliche und si...

So reduzieren Sie die Bildgröße mithilfe des mehrstufigen Docker-Builds

In diesem Artikel wird beschrieben, wie Sie die m...

Zabbix-Konfiguration DingTalk-Alarmfunktions-Implementierungscode

brauchen Das Konfigurieren von DingTalk-Alarmen i...

So konfigurieren Sie zwei oder mehr Sites mit dem Apache-Webserver

So hosten Sie zwei oder mehr Sites auf dem belieb...

So verwenden Sie den Fuser-Befehl im Linux-System

Was ist Fuser Command? Der Befehl fuser ist ein s...

Lösung für das Problem, dass sich der mysql8.0.11-Client nicht anmelden kann

In diesem Artikel erfahren Sie, wie Sie das Probl...

Beispielcode für Django+Vue-Registrierung und -Anmeldung

registrieren Das Front-End verwendet Axios in Vue...