Beispielcode für horizontales Balkendiagramm von Echarts Bar

Beispielcode für horizontales Balkendiagramm von Echarts Bar

Fortsetzung der ausführlichen Erläuterung des vorherigen Artikels #Echart-Balkenhistogrammstil. Sie können zuerst den vorherigen Artikel lesen. Wenn Sie ihn nicht lesen, sind die Auswirkungen nicht besonders groß.

Horizontales Balkendiagramm

Daten und Stile dynamisch aktualisieren

Realisieren Sie ein dynamisches Umschalten zwischen Monatsstatistiken und Tagesstatistiken. Bei der monatlichen Berechnung der Statistiken werden die Daten für jeden Monat angezeigt und die X-Achse zeigt 12 Beschriftungen. Bei der täglichen Berechnung der Statistiken zeigt die X-Achse nicht alle Beschriftungen vollständig an, sondern in Abständen und die Spaltenbreite ändert sich ebenfalls. Die hauptsächlich verwendete Methode ist die setOption-Methode.

Offizielle Dokumentation [setOption]: echarts.apache.org/zh/api.html…

<Skript>
  importiere * als R von „ramda“;

  const Quelle1 = [
    ["Januar", 1330, 666, 560],
    ["Februar", 820, 760, 660],
    ......
    ["November", 901, 880, 360],
    ["Dezember", 934, 600, 700],
  ];
  const Quelle2 = [
    ["1 Tag", 1330, 666, 560],
    ["2.", 820, 760, 660],
    ......
    ["29.", 934, 600, 700],
    ["30.", 1330, 666, 560],
  ];

  // Die konkrete Konfiguration ist wie zuvor gezeigt, die Details werden weggelassen, nur das grundlegende Beispiel wird gezeigt const initOption = {
    ...
    Datensatz: { Quelle: Quelle1 },
  };

  Standard exportieren {
    Daten() {
      zurückkehren {
        Diagramme: null,
        isDaily: false,
      };
    },
    montiert() {
      dies.charts = dies.$echarts.init(
        document.getElementById("Balkendiagramme"),
        null,
        {
          Renderer: "svg",
        }
      );
      diese.charts.setOption(R.clone(initOption));
    },
    Methoden: {
      Quelle behandeln() {
        dies.istDaily = !dies.istDaily;
        diese.charts.setOption(
          R.mergeDeepRight(initOption, {
            // Datenquellen-Dataset dynamisch aktualisieren: {
              Quelle: this.isDaily ? Quelle2 : Quelle1,
            },
            x-Achse:
              // Beschriftungsintervall dynamisch aktualisieren axisLabel: {
                Intervall: this.isDaily ? 4 : "auto",
              },
            },
            Serie: R.map(
              // Spaltenbreite dynamisch aktualisieren (o) => ((o.barWidth = this.isDaily ? 12 : 24), o),
              initOption.series
            ),
          }),
          WAHR
        );
        dies.charts.resize();
      },
    },
  };
</Skript>

Lösen Sie das Problem der Breiten- und Höhenanpassung von E-Charts

Beim Erstellen von Diagrammen in Webprojekten sind die Breite und Höhe des Diagramms nicht festgelegt und müssen an die Breite und Höhe des Browsers angepasst werden. Die verwendete Methode ist die Größenanpassung. Wenn mehrere Diagramme vorhanden sind, muss deren Größe gleichzeitig geändert werden.

<Skript>
  Standard exportieren {
    montiert() {
      window.addEventListener("Größe ändern", this.handleResize, false);
    },
    zerstört() {
      window.removeEventListener("Größe ändern", this.handleResize);
    },
    Methoden: {
      handleResize() {
        const _this = dies;
        const timer = setTimeout(() => {
          _this.lineCharts.resize();
          _this.barCharts.resize();
        }, 500);
        // Lösche den Timer this.$once("hook:beforeDestroy", () => {
          setzeTimeout(Timer);
        });
      },
    },
  };
</Skript>

Vertikales Balkendiagramm

Implementierung eines vertikalen Balkendiagramms

Das Wesentliche ist das gleiche wie in horizontaler Richtung, ersetzen Sie einfach die Werte der x- und y-Achse; die x-Achse ist der Wert und die y-Achse ist die Kategorie

let-Option = {
  x-Achse:
    Typ: "Wert",
  },
  yAchse: {
    Typ: "Kategorie",
  },
};

Farbverlaufsfarbe für den Hintergrund des Koordinatenindikators

Tatsächlich ist das Prinzip dasselbe wie bei der horizontalen Methode, dh die x- und y-Werte des Farbverlaufsverarbeitungsbereichs werden geändert.

lass horizontaleFarbe = {
  Typ: "linear",
  x: 1, // Ändere y: 0,
  x2: 0,
  y2: 0, // Farbe ändernStopps: [
    { Offset: 0, Farbe: "rgba(234,244,255,1)" },
    { Offset: 1, Farbe: "rgba(234,244,255,0.3)" },
  ],
  global: falsch,
};

Spalten mit unterschiedlichen Farben

Die Einstellung der Farbe in der Serieneigenschaft der Spalte kann eine Funktion sein und in der Funktion verarbeitet werden. Der Kerncode ist colorList[params.dataIndex]

lass Farbliste = [
  "#1890ff",
  „#52c41a“,
  "#faad14",
  "#f5222d",
  "#1DA57A",
  "#d9d9d9",
];
lass Serie = [
  {
    Typ: "Bar",
    Balkenbreite: 16,
    Artikelstil: {
      // Angepasste Anzeige (um) verschiedene Farbspalten zu erreichen color: (params) => {
        gibt Farbliste [Params.Datenindex] zurück;
      },
    },
    Abmessungen: ["Typ", "Verkaufsmenge"],
  },
];

Werte über dem Balkendiagramm anzeigen

Die Beschriftung in der Serieneigenschaftseinstellung der Spalte kann eine Funktion sein und in der Funktion verarbeitet werden. Sie können Position, Schriftfarbe und -größe usw. festlegen. Der Kerncode ist params.value[params.encode.x[0]].

lass Serie = [
  {
    // ......
    Typ: "Bar",
    Etikett: {
      // Anzeigewert der Spaltenkopfzeile des Diagramms show: true,
      Position: "rechts",
      Farbe: "#333",
      Schriftgröße: "12px",
      Formatierer: (Parameter) => {
        Rückgabewert [params.encode.x[0]];
      },
    },
  },
];

Anpassung des Tooltip-Eingabeaufforderungsfelds

Dasselbe wie horizontal, achten Sie nur auf die Werte params[0].axisValue, item.seriesName, item.value[item.encode.x[0]]

let tooltip = R.merge(tooltip, {
  Formatierer: Funktion (Parameter) {
    lass html = `<div style="height:auto;width:163px;">
          <div style="Schriftgröße: 14px; Schriftstärke: fett; Farbe: #333; Rand unten: 16px; Zeilenhöhe: 1;">
            ${params[0].axisValue}
          </div>
          ${params
            .Karte(
              (
                Artikel
              ) => `<div style="font-size:12px;color:#808080;margin-bottom:8px;display:flex;align-items:center;line-height:1;">
                <span style="Anzeige: Inline-Block;Rand rechts: 8px;Rahmenradius: 6px;Breite: 6px;Höhe: 6px;Hintergrundfarbe: ${
                  Artikelfarbe
                };"></span>
                ${item.seriesName}
                <span style="flex:1;text-align:right;">${
                  Element.Wert[Element.encode.x[0]]
                }</span>
              </div>`
            )
            .verbinden("")}
        </div>`;
    HTML zurückgeben;
  },
});

Allgemeine Implementierung

charts.setOption({
  Titel:
    Text: "Verkaufsmengenverteilung",
  },
  Datensatz:
    Quelle: [
      ["Apfel", 200],
      ["Pfirsich", 180],
      ["Trauben", 340],
      ["Banane", 250],
      ["Mango", 166],
      ["Durian", 185],
    ],
  },
  xAchse: R.merge(yAchse, {
    Typ: "Wert",
  }),
  yAchse: R.mergeDeepRight(xAchse, {
    Typ: "Kategorie",
    Achsenzeiger:
      Schattenstil: {
        Farbe: horizontaleFarbe,
      },
    },
  }),
  Serie,
  Tooltip,
});

Zusammenfassen

Dies ist das Ende dieses Artikels über das horizontale Balkendiagramm von Echarts Bar. Weitere relevante Inhalte zum horizontalen Balkendiagramm von Echarts Bar finden Sie in den vorherigen Artikeln von 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:
  • Farbverlaufsbalkendiagramm, implementiert durch das jQuery-Plugin Echarts
  • Beispiel für einen mehrspaltigen Balkendiagrammeffekt, implementiert durch das jQuery-Plugin echarts [mit Demo-Quellcode-Download]
  • Lösen Sie das Problem, dass echarts zwei Werte in einem Balkendiagramm anzeigt, ähnlich einem Fortschrittsbalken
  • echarts Balkendiagramm Hintergrund überlappende Kombination statt paralleler Implementierungscode
  • Grundlegende Einführung in Echarts: Allgemeine Konfiguration von Balkendiagrammen und Liniendiagrammen

<<:  Lösung für den Fehler „MySQL-Server ist verschwunden“

>>:  MySQL Master-Slave-Daten sind inkonsistent, Eingabeaufforderung: Slave_SQL_Running: Keine Lösung

Artikel empfehlen

Zusammenfassung häufig verwendeter SQL-Operationen in MySQL-Tabellen

1. Sehen Sie sich die Feldtypen in der Tabelle an...

Implementierung eines CSS-Textschatten-Effekts zur allmählichen Unschärfe

Textschatten Fügen Sie dem Text einen Schatten hi...

Eine kurze Analyse der Verwendung von Rahmen- und Anzeigeattributen in CSS

Einführung in Rahmeneigenschaften border -Eigensc...

JavaScript implementiert einen verschiebbaren Fortschrittsbalken

In diesem Artikel wird der spezifische JavaScript...

Eine kurze Analyse der Unterschiede zwischen Undo, Redo und Binlog in MySQL

Inhaltsverzeichnis Vorwort 【Protokoll rückgängig ...

CSS-Lösung für mehrspaltiges Layout

1. Feste Breite + adaptiv Erwarteter Effekt: fest...

So konfigurieren Sie einen Pfadalias für das React-Scaffolding

Die React-Version beim Schreiben dieses Artikels ...

Centos8.3, Docker-Bereitstellung, Springboot-Projekt, tatsächliche Fallanalyse

Einführung Derzeit ist k8s sehr beliebt und ich h...

Prinzip und Implementierung der parallelen Replikation von MySQL5.7

Jeder, der ein wenig über Datenoperationen und -w...

Verständnis und Anwendungsszenarien von ES6-Erweiterungsoperatoren

Inhaltsverzeichnis 1. Ersetzen Sie die Apply-Meth...

So kopieren Sie eine MySQL-Tabelle

Inhaltsverzeichnis 1.mysqldump Ausführungsprozess...

JavaScript, um die Idee des Schlangenspiels umzusetzen

Die Implementierungsidee des Javascript-Spiels Sn...

Zusammenfassung von 28 gängigen JavaScript-String-Methoden und Verwendungstipps

Inhaltsverzeichnis Vorwort 1. Ermitteln Sie die L...