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

JavaScript zum Implementieren einer dynamischen Digitaluhr

In diesem Artikel finden Sie den spezifischen Cod...

So fügen Sie in JS eine Abbruchfunktion zu einem Versprechen hinzu

Inhaltsverzeichnis Überblick Promise Race Methode...

So fügen Sie eindeutige Indizes für Felder in MySQL hinzu und löschen sie

1. PRIMARY KEY hinzufügen (Primärschlüsselindex) ...

Erläuterung zum Lastenausgleich und Reverseproxy von Nginx

Inhaltsverzeichnis Lastenausgleich Klassifizierun...

MySQL 5.7.18 Installations-Tutorial und Problemübersicht

MySQL 5.7.18 Installation und Problemübersicht. I...

Detaillierte Erklärung der MySQL Master-Slave-Inkonsistenz und Lösungen

1. MySQL Master-Slave-Asynchronität 1.1 Netzwerkv...

Eine einfache Methode zum Ändern der Größe hochgeladener Nginx-Dateien

Originallink: https://vien.tech/article/138 Vorwo...

So fügen Sie Anführungszeichen in HTML-Titel ein

<a href="https://www.jb51.net/" titl...

Beispielcode mit Vue-Router in HTML

Einführung in Vue und Vue-Router <script src=&...

Detailliertes Installationstutorial für MySQL 5.7.11 unter Win7

Betriebssystem: Win7 64-Bit Ultimate Edition Komp...

Einführung in die CSS-Stilklassifizierung (Grundkenntnisse)

Klassifizierung von CSS-Stilen 1. Interner Stil -...

HTML5+CSS3-Codierungsstandards

Die goldene Regel Unabhängig davon, wie viele Per...