Detaillierte Verwendung von Echarts in vue2 vue3

Detaillierte Verwendung von Echarts in vue2 vue3

1. Installation

npm installiere echarts --save

2. Verwenden Sie Echarts in vue2

In der Datei main.js

// E-Charts importieren
E-Charts aus „E-Charts“ importieren
Vue.prototype.$echarts = echarts 

Gegeben sei ein Container

<div id="meinChart" :style="{width: '300px', height: '300px'}"></div>

Die Initialisierung echarts sollte in der Hook-Funktion mounted() erfolgen, die aufgerufen wird, nachdem el durch das neu erstellte vm.$el ersetzt und in der Instanz gemountet wurde.

//Grundlegende Vorlage einführen let echarts = require('echarts/lib/echarts')

//Balkendiagrammkomponente einführen require('echarts/lib/chart/bar')

//Tooltip- und Titelkomponenten einführen require('echarts/lib/component/tooltip')
erfordern('echarts/lib/komponente/titel')

Standard exportieren {
  Name: 'Hallo',
  Daten() {
    zurückkehren {
      msg: „Willkommen bei Ihrer Vue.js-App“
    }
  },
  montiert() {
    dies.drawLine();
  },
  Methoden: {
    zeichneLinie() {
      // Basierend auf dem vorbereiteten DOM, initialisieren Sie die echarts-Instanz let myChart = echarts.init(document.getElementById('myChart'))
      // Diagrammtitel zeichnen: {
        Text: 'Liniendiagramm stapeln'
    },
    Tooltip: {
        Auslöser: ‚Achse‘
    },
    Legende: {
        Daten: ['E-Mail-Marketing', 'Affiliate-Werbung', 'Video-Werbung', 'Direktzugriff', 'Suchmaschine']
    },
    Netz: {
        links: '3%',
        rechts: '4%',
        unten: '3%',
        containLabel: wahr
    },
    Werkzeugkasten:
        Besonderheit:
            AlsBild speichern: {}
        }
    },
    x-Achse:
        Typ: "Kategorie",
        boundageGap: falsch,
        Daten: ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']
    },
    yAchse: {
        Typ: "Wert"
    },
    Serie: [
        {
            Name: "E-Mail-Marketing",
            Typ: "Linie",
            Stapel: 'Gesamtbetrag',
            Daten: [120, 132, 101, 134, 90, 230, 210]
        },
        {
            Name: „Alliance Advertising“,
            Typ: "Linie",
            Stapel: 'Gesamtbetrag',
            Daten: [220, 182, 191, 234, 290, 330, 310]
        },
        {
            Name: „Videoanzeige“,
            Typ: "Linie",
            Stapel: 'Gesamtbetrag',
            Daten: [150, 232, 201, 154, 190, 330, 410]
        },
        {
            Name: 'Direktzugriff',
            Typ: "Linie",
            Stapel: 'Gesamtbetrag',
            Daten: [320, 332, 301, 334, 390, 330, 320]
        },
        {
            Name: 'Suchmaschine',
            Typ: "Linie",
            Stapel: 'Gesamtbetrag',
            Daten: [820, 932, 901, 934, 1290, 1330, 1320]
        }
    ]
    }
  }
}

3. Verwenden Sie Echarts in vue3

Da this im setup nicht vorhanden ist und noch nicht gerendert wurde, können Sie provide/inject verwenden, um echart im setup einzuführen.

Führen Sie Echart in der Stammkomponente ein, normalerweise App.vue

importiere * als E-Charts von „E-Charts“
importiere { provide } von 'vue'
 
Standard exportieren {
  Name: "App",
  aufstellen(){
    bereitstellen('echarts',echarts) //bereitstellen
  },
  Komponenten:
  }
}

Es ist hierbei zu beachten, dass import * as echarts from 'echarts' und nicht import echarts from 'echarts' , was zu einem Fehler führt, da die Schnittstelle von echarts in der Version 5.0 folgendermaßen aussieht:

exportieren { 
 EChartsFullOption als EChartsOption, 
 verbinden, 
 trennen, 
 entsorgen,
 getInstanceByDom, 
 getInstanceById, 
 Karte abrufen, 
 init,
 registerLocale, 
 Karte registrieren, 
 Thema registrieren 
 };

Definieren Sie div auf der Seite, auf der Sie es verwenden müssen

<div id="home-page-traffic_chart" style="Breite: 600px; Höhe: 280px">

Fügen Sie es dann auf der Seite ein, auf der Sie Echarts verwenden müssen

Standard exportieren {
  Name: 'Datenseite',
  aufstellen () {
    const trafficData = ref({})
    const echarts = inject('echarts')
    beimMounted(() => {
      const myChart = echarts.init(document.getElementById('home-page-traffic_chart'))
      // Zeichnen Sie das Diagramm myChart.setOption({
        Titel:
          Text: „Heutige Anrufstatistik“
        },
        Tooltip: {
          Auslöser: 'Achse',
          Achsenzeiger:
            Typ: "Schatten"
          }
        },
        Netz: {
          links: '3%',
          rechts: '4%',
          unten: '3%',
          containLabel: wahr
        },
        xAchse: [
          {
            Typ: "Kategorie",
            Daten: ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],
            AchseTick: {
              alignWithLabel: wahr
            }
          }
        ],
        yAchse: [
          {
            Typ: "Wert"
          }
        ],
        Serie: [
          {
            Name: 'Direktzugriff',
            Typ: "Bar",
            Balkenbreite: '60%',
            Daten: [10, 52, 200, 334, 390, 330, 220]
          }
        ]
      })
      Fenster.onresize = Funktion () {
        myChart.resize()
      }
    })
    zurückkehren {
    }
  }

}

Effektbild:

Das könnte Sie auch interessieren:
  • Beispielcode zur Verwendung von vue-echarts-v3 in Vue
  • Detaillierte Erklärung von vue mit Echarts zum Zeichnen eines Balkendiagramms
  • Praxis der Verwendung von E-Charts zur Visualisierung in Django
  • Grundlegendes Tutorial zum WeChat-Miniprogramm: Verwendung von Echart
  • Detaillierte Erläuterung der Verwendung von nativem Echart und Vue-Echart

<<:  MySQL-Unterabfragen und gruppierte Abfragen

>>:  Eine kurze Diskussion über zwei Strombegrenzungsmethoden in Nginx

Artikel empfehlen

Verhindern von SQL-Injection in Webprojekten

Inhaltsverzeichnis 1. Einführung in SQL-Injection...

So generieren Sie ein kostenloses Zertifikat mit OpenSSL

1: Was ist OpenSSL? Welche Funktion hat es? Was i...

Implementierung von Linux-Dateisystemvorgängen

In dieser Lesenotiz werden hauptsächlich die Vorg...

Tutorial zur Tomcat-Konfiguration für Nginx/Httpd-Lastausgleich

Im vorherigen Blog haben wir über die Verwendung ...

Lösung für das Timeout-Problem der SNMP4J-Serververbindung

Als Verwaltungszentrale und Server dient dabei un...

FastDFS- und Nginx-Integration zur Codeanalyse

FastDFS- und Nginx-Integration: Der Tracker wird ...

Sehen Sie sich den Befehl zum Ändern der MySQL-Tabellenstruktur an

Kurzbeschreibung Der Editor hat häufig Probleme m...