Das Balkendiagramm von Vue + Echart realisiert Statistiken zu Epidemiedaten

Das Balkendiagramm von Vue + Echart realisiert Statistiken zu Epidemiedaten

Vier Schritte, vier Schritte. Wenn Sie direkt zum Ende springen, denken Sie daran, einige Abhängigkeiten und die Umgebung zu konfigurieren.

1. Installieren Sie zuerst echarts im Projekt

1. Installieren Sie das Echarts-Abhängigkeitspaket

npm installiere echarts --save

2. Erstellen Sie die Datei echarts.js im Plugin-Verzeichnis und importieren Sie das echarts-Abhängigkeitspaket darin

Vue von „vue“ importieren
importiere echarts von 'echarts' //Hier muss darauf hingewiesen werden, dass möglicherweise ein Fehler auftritt. Sie können die folgende Methode verwenden: Vue.prototype.$echarts = echarts

Bei Verwendung der oben beschriebenen allgemeinen Methode kann der folgende Fehler auftreten: „Export ‚default‘ (importiert als ‚echarts‘) wurde in ‚echarts‘ nicht gefunden.“

Dies liegt daran, dass Echarts 5.x die oben genannte Importmethode nicht mehr unterstützt. Weitere Informationen finden Sie auf der offiziellen Echarts-Website.

Kurz gesagt wird es wie folgt geändert:

Vue von „vue“ importieren
importiere * als echarts von 'echarts' //Hier liegt der Unterschied: Vue.prototype.$echarts = echarts

3. Führen Sie die soeben erstellte Datei echart.js in die Konfigurationsdatei nuxt.config.js ein

 Plugins: ['~plugins/echarts']
 //Ich habe nur geschrieben, um dies hinzuzufügen, das bedeutet nicht, dass es hier nur dies gibt//Sie können auch die Form '@/plugins/echarts' verwenden, sie sind fast gleich

2. Einführung einer Säulendiagrammvorlage in E-Charts

(Dies ist Schritt für Schritt aufgeschrieben. Wenn Sie es nicht lesen möchten, können Sie zum Ende springen, wo sich der endgültige Code befindet.)

Der Code im Projekt lautet:

<Vorlage>
  <div id="echarts">
    <div id="meinChart"></div> 
  </div>
</Vorlage>
<Skripttyp="text/javascript">
Standard exportieren {
  Name: "Echarts",
  Daten() {
    zurückkehren {};
  },
  Methoden: {
      echartsInit() { //Definieren Sie eine Methode zum Erstellen eines Diagramms let myChart = this.$echarts.init(document.getElementById("myChart"));
      
      myChart.setOption({
        Titel:
          Text: „Balkendiagramm von echarts zur Darstellung von Epidemiestatistiken“,
          Textausrichtung: "auto",
          links: 'Mitte'
        },
        Tooltip: {},
        // Provinz (horizontale Achse)
        x-Achse:
          Daten: ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So']
          //Daten: this.areaName, //Dies sind die endgültigen Daten, die angeben, dass Sie den Test starten können, ohne diesen Typ zu verwenden: „Kategorie“,
          Achsenbezeichnung: {
            rotate: -45, // Um ​​30 Grad drehen, sonst wird die horizontale Achse nicht vollständig angezeigt show: true, // Diese Codezeile steuert, ob der Text auf der x-Achse angezeigt wird},
        },
        yAchse: {},
        // Bestätigte Nummernserie: [
          {
            Name: „Gesamtzahl der bestätigten Fälle“,
            Typ: "Bar",
            //data: this.areaConfirm, //Dies sind die endgültigen Daten, die angeben, dass Sie den Test ohne diese Daten starten können: [120, 200, 150, 80, 70, 110, 130],
          },
        ],
      });
    },
  }
  //mounted wird aufgerufen, nachdem die Vorlage in HTML gerendert wurde, normalerweise nachdem die Initialisierungsseite abgeschlossen ist // und dann werden einige notwendige Operationen am HTML-DOM-Knoten durchgeführt mounted() {
  	dies.echartsInit();
  },
  }
</Skript>
<Stilbereich>
	#meinChart {
	  Breite: 100 %;
	  Höhe: 300px;
	  Rand links: automatisch;
	  Rand rechts: automatisch;
	}
</Stil>

3. Daten über API importieren

Die von Tencent bereitgestellte Schnittstellenadresse, die ich verwende: https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5 Klicken Sie hier, um sie anzuzeigen

Wir können eine Menge Daten sehen, also müssen wir die Daten bereinigen und aufteilen, um die Daten zu erhalten, die wir brauchen

1. Zuerst müssen wir das domänenübergreifende Problem lösen

npm installiere axios @nuxtjs/axios @nuxtjs/proxy

2. Fügen Sie nach der Installation die folgende Konfiguration in die Datei nuxt.config.js ein:

modul.exporte = {
//Ich zeige die hinzuzufügenden Teile, nicht alle Module: ["@nuxtjs/axios"],

  Achsen:
    Proxy: wahr
  },

  Proxy: {
    '/api/': {
    Ziel: 'https://view.inews.qq.com', //Diese Website ist Open Source und kann den Datenpfad anfordern. Neu schreiben: {
    '^/api/': '/',
    changeOrigin: true
    }
   }
  },
}

3. Verarbeiten der Schnittstellendaten

    getData() {
      dies.$axios.get(`/api/g2/getOnsInfo?name=disease_h5`).then(({ data }) => {
        //console.log(JSON.parse(data.data.replace('\\"', "'")));
        dieser.Bereich = JSON.parse(
          Daten.Daten.Ersetzen('\\"', "'")
        ).areaTree[0].children;
        // Gebietsname this.areaName = this.area.map((o) => {
          gibt o.name zurück;
        });
        //Gesamtzahl der bestätigten Fälle this.areaConfirm = this.area.map((o) => {
          Rückgabewert o.total.confirm;
        });
        Konsole.log(diesen.Bereich bestätigen);
        // Aktuelle Anzahl bestätigter Fälle hh Es scheint, dass ich es am Ende nicht verwendet habe. Wenn Sie es brauchen, können Sie darauf verweisen this.areaNowConfirm = this.area.map((o) => {
          Rückgabewert o.total.nowConfirm;
        });
        dies.echartsInit();
      });
    },

Die aufbereiteten Daten zeigen deutlich: Nimm dir einfach, was du willst.

4. Integrieren Sie den Code

Wow, es ist endlich fertig, hier ist mein Code

<Vorlage>
  <div id="echarts">
    <div id="meinChart"></div>
  </div>
</Vorlage>
<Skripttyp="text/javascript">
Standard exportieren {
  Name: "Echarts",
  Daten() {
    zurückkehren {
      Bereich: [],
      Bereichsname: [],
      Bereich bestätigen: [],
      BereichJetztBestätigen: [],
    };
  },
  
  Methoden: {
    getData() {
      dies.$axios.get(`/api/g2/getOnsInfo?name=disease_h5`).then(({ data }) => {
        Konsole.log(JSON.parse(data.data.replace('\\"', "'")));
        dieser.Bereich = JSON.parse(
          Daten.Daten.Ersetzen('\\"', "'")
        ).areaTree[0].children;
        // Gebietsname this.areaName = this.area.map((o) => {
          gibt o.name zurück;
        });
        //Gesamtzahl der bestätigten Fälle this.areaConfirm = this.area.map((o) => {
          Rückgabewert o.total.confirm;
        });
        Konsole.log(diesen.Bereich bestätigen);
        // Aktuell bestätigte Fälle this.areaNowConfirm = this.area.map((o) => {
          Rückgabewert o.total.nowConfirm;
        });
        dies.echartsInit();
      });
    },
    echartsInit() {
      Lassen Sie myChart = this.$echarts.init(document.getElementById("myChart"));
      myChart.setOption({
        Titel:
          Text: „Balkendiagramm von echarts zur Darstellung von Epidemiestatistiken“,
          Textausrichtung: "auto",
          links: 'Mitte'
        },
        Tooltip: {},
        // Provinz xAchse: {
          Daten: this.areaName,
          Typ: "Kategorie",
          Achsenbezeichnung: {
            rotate: -45, // Um ​​30 Grad drehen show: true, // Diese Codezeile steuert, ob der Text auf der x-Achse angezeigt wird},
        },
        yAchse: {},
        // Bestätigte Nummernserie: [
          {
            Name: „Gesamtzahl der bestätigten Fälle“,
            Typ: "Bar",
            Daten: this.areaConfirm,
          },
        ],
      });
    },
  },
  montiert() {
    dies.getData();
    dies.echartsInit();
  },
};
</Skript>
<Stilbereich>
#meinChart {
  Breite: 100 %;
  Höhe: 300px;
  Rand links: automatisch;
  Rand rechts: automatisch;
}
</Stil>
 

Dies ist das Ende dieses Artikels über das Vue+Echart-Balkendiagramm zur Erstellung von Epidemiedatenstatistiken. Weitere relevante Inhalte zu Vue Echart-Balkendiagrammdatenstatistiken 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:
  • Vue + Echart realisiert dreidimensionales Säulendiagramm
  • Vue verwendet das Echart-Symbol-Plug-In-Balkendiagramm
  • Detaillierte Erklärung von vue mit Echarts zum Zeichnen eines Balkendiagramms
  • Vue echarts realisiert horizontales Balkendiagramm
  • Vue + echart realisiert Doppelsäulendiagramm
  • Vue implementiert horizontal abgeschrägtes Balkendiagramm
  • Vue+echarts realisiert gestapelte Balkendiagramme
  • Vue+echarts realisiert Fortschrittsbalken-Histogramm
  • Vue verwendet Echarts, um ein dreidimensionales Balkendiagramm zu implementieren
  • Vue+ Antv F2 realisiert gestapeltes Balkendiagramm

<<:  Detaillierte Erklärung des MySQL-Datenbankindex

>>:  Bezüglich der chinesischen verstümmelten Zeichen bei der Übertragung eines href-Parameters

Artikel empfehlen

JavaScript zum Erreichen einer festen Seitenleiste

Verwenden Sie Javascript, um eine feste Seitenlei...

Detaillierte Erklärung redundanter und doppelter Indizes in MySQL

MySQL ermöglicht das Erstellen mehrerer Indizes f...

Tabellen in HTML aufteilen und zusammenführen (colspan, rowspan)

Der Code demonstriert die horizontale Zusammenfüh...

So stellen Sie einen Code-Server mit Docker bereit

Ziehen Sie das Bild # Docker-Pull Codercom/Code-S...

So erweitern Sie die Festplattengröße einer virtuellen Maschine

Nachdem Vmvare die Festplattengröße der virtuelle...

Vue3 Vue CLI-Konfiguration für mehrere Umgebungen

Inhaltsverzeichnis 1. Einleitung 2. Umschalten 1....

Zusammenfassung der Verwendung spezieller Operatoren in MySql

Vorwort Es gibt vier Arten von Operatoren in MySQ...

In einem Artikel erfahren Sie, wie Sie ein Vue-Plugin schreiben

Inhaltsverzeichnis Was ist ein Plugin Plugins sch...

So konfigurieren Sie die virtuelle Benutzeranmeldung in vsftpd

yum installiere vsftpd [root@localhost usw.]# yum...

Implementierung von FIFO in der Linux-Prozesskommunikation

FIFO-Kommunikation (First In First Out) FIFO-Name...

Fortgeschrittene JavaScript-Programmierung: Variablen und Umfang

Inhaltsverzeichnis 1. Ursprungswert und Bezugswer...

Probleme und Lösungen bei der Installation von Docker in der Alibaba Cloud

Frage Bei der Installation von Docker mithilfe de...