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

Einige etwas komplexere Verwendungsbeispielcodes in MySQL

Vorwort Ich glaube, dass die Syntax von MySQL nic...

Vue implementiert Tab-Tab-Umschaltung

In diesem Artikelbeispiel wird der spezifische Co...

W3C Tutorial (2): W3C Programme

Der W3C-Standardisierungsprozess ist in 7 verschi...

Docker generiert Bilder über Container und übermittelt DockerCommit im Detail

Inhaltsverzeichnis Nachdem Sie einen Container lo...

Webpack lädt CSS-Dateien und ihre Konfigurationsmethode

webpack lädt CSS-Dateien und deren Konfiguration ...

Frage zu benutzerdefinierten Attributen von HTML-Tags

In der vorherigen Entwicklung haben wir die Stand...

Natives JS implementiert benutzerdefinierte Bildlaufleistenkomponente

In diesem Artikelbeispiel wird der spezifische JS...

Wie stellt MySQL eine Verbindung zum entsprechenden Clientprozess her?

Frage Wie können wir bei einer bestimmten MySQL-V...

Einführung in MySQL-Anweisungskommentare

MySQL unterstützt drei Arten von Kommentaren: 1. ...

So implementieren Sie Datenpersistenz mit dem Vuex-Drittanbieterpaket

Zweck: Ermöglichen Sie die gleichzeitige lokale S...