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

Nginx erstellt Implementierungscode für RTMP-Liveserver

1. Erstellen Sie ein neues RTMP-Verzeichnis im Ng...

So verwenden Sie benutzerdefinierte CSS-Variablen in Vue

Inhaltsverzeichnis Die benutzerdefinierte CSS-Var...

Maven-Projekte schneller in Docker erstellen

Inhaltsverzeichnis I. Überblick 2. Konventionelle...

Eine kurze Analyse zum besten Umgang mit vergessenen MySQL 8-Passwörtern

Vorwort Leser, die mit MySQL vertraut sind, werde...

Detaillierte Erklärung der Bind-Mounts für die Docker-Datenspeicherung

Bevor Sie diesen Artikel lesen, hoffe ich, dass S...

Fügen Sie Linux eine Startmethode hinzu (Dienst/Skript)

Konfigurationsdatei, die beim Systemstart geladen...

Detaillierte Analyse der Rolle von HTML-Kommentar-Tags <!--...-->

Wenn wir den Quellcode vieler Websites überprüfen...

Lösungen für MySQL-Batch-Insert- und eindeutige Indexprobleme

MySQL-Batch-Einfügeproblem Da bei der Entwicklung...

Installieren des Win10-Systems auf VMware Workstation 14 Pro

Dieser Artikel beschreibt zu Ihrer Information, w...