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

Verwenden Sie in JS nicht mehr überall Operatoren für absolute Gleichheit.

Inhaltsverzeichnis Überblick 1. Test auf Nullwert...

So ändern Sie die inländische Imagequelle für Docker

Konfigurieren Sie den Beschleuniger für den Docke...

So konfigurieren Sie pseudostatisches und clientadaptives Nginx

Das Backend verwendet das Framework thinkphp3.2.3...

Detaillierte Erläuterung des MySQL-Isolationsebenen-Operationsprozesses (cmd)

Beispielvorgang für nicht festgeschriebenes Lesen...

SQL zur Implementierung der Wiederherstellung einer Zeitreihenversetzung

Inhaltsverzeichnis 1. Anforderungsbeschreibung 2....

So kapseln Sie die Karussellkomponente in Vue3

Zweck Kapseln Sie die Karussellkomponente und ver...

Wissen Sie, wie man Mock in einem Vue-Projekt verwendet?

Inhaltsverzeichnis Erster Schritt: Der zweite Sch...

Schritte zum Erstellen des Projekts vite+vue3+element-plus

Verwenden Sie vite, um ein vue3-Projekt zu erstel...

Konstruktions- und Nutzungsprozess des Vue3.0-Projekts

Inhaltsverzeichnis 1. Projektkonstruktion 2: Verz...

Detaillierte Erklärung zum Einfügen gängiger Nginx-Befehle in Shell-Skripte

1. Erstellen Sie einen Ordner zum Speichern von N...

Zusammenfassung der Datenspeicherstruktur des Nginx-HTTP-Moduls

Ab diesem Abschnitt erklären wir das Implementier...