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

Ausführliches Tutorial zur Installation von MySql 5.6.35 winx64

Hinweis: Beim Projektstart ist kein Fehler aufgru...

Eine kurze Analyse der vier Importmethoden und Prioritäten in CSS

Erstens: 4 Möglichkeiten, CSS einzuführen Es gibt...

Mysql-String-Abfangen und Abrufen von Daten im angegebenen String

Vorwort: Ich bin auf die Anforderung gestoßen, be...

Einfache Schritte zum Erstellen eines MySQL-Containers mit Docker

Vorwort Wir haben Docker bereits installiert und ...

Gemeinsame MySQL-Indexwirksamkeitsbedingungen und Indexungültigkeitsbedingungen

Inhaltsverzeichnis 1. Bedingungen für das Versage...

Reines HTML und CSS, um den JD-Karusselleffekt zu erzielen

Das JD-Karussell wurde mit reinem HTML und CSS im...

Einführung in die Containerfunktion of() in der Linux-Kernel-Programmierung

Vorwort Bei der Linux-Kernel-Programmierung werde...

Natives JavaScript, um den Karusselleffekt zu erzielen

In diesem Artikel wird der spezifische Code für J...

Eine kurze Analyse von Linux resolv.conf

1. Einleitung resolv.conf ist die Konfigurationsd...

Über 40 schöne Beispiele für Webformular-Designs

Webformulare sind der primäre Kommunikationskanal...

Detaillierte Erklärung des Vue-Datenproxys

Inhaltsverzeichnis 1. Worüber ich unten sprechen ...

Verwendung der MySQL-Zeitdifferenzfunktionen TIMESTAMPDIFF und DATEDIFF

Verwendung der Zeitdifferenzfunktionen TIMESTAMPD...