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

CSS3 Flexible Box Flex, um ein dreispaltiges Layout zu erreichen

Wie der Titel schon sagt: Die Höhe ist bekannt, d...

mysql5.6.zip-Format komprimierte Version Installations-Grafik-Tutorial

Vorwort: MySQL ist ein relationales Datenbankverw...

Zusammenfassung der XHTML-Anwendung im Webdesign-Studium

<br />Im Allgemeinen ist die Dateiorganisati...

Detaillierte Hinweise zu React für Einsteiger

Inhaltsverzeichnis 1. Grundlegendes Verständnis v...

Ein Vergleich zwischen dem href-Attribut und dem onclick-Ereignis des a-Tags

Lassen Sie uns zunächst über die Ausführungsreihe...

Sehr empfehlenswert! Syntax Sugar in Vue 3.2 einrichten

Inhaltsverzeichnis Vorherige 1. Was ist Setup-Syn...

Einige Hinweise zu MySQL-Routineberechtigungen

1. Wenn der Benutzer über die Berechtigung zum Er...

Spielen Sie mit der Connect-Funktion mit Timeout in Linux

Im vorherigen Artikel haben wir mit Timeouts unte...

So vermeiden Sie die Duplizierung von Daten beim Einfügen in einen MySql-Batch

Inhaltsverzeichnis Vorwort 1. Einfügen von ignore...

Nginx beschränkt den IP-Zugriff auf bestimmte Seiten

1. Um allen IP-Adressen den Zugriff auf die drei ...

Adaptive HTML-Tabellenmethode

<body style="scroll:no"> <Tabe...