Detaillierte Erklärung zur Verwendung von Echarts-Maps in Angular

Detaillierte Erklärung zur Verwendung von Echarts-Maps in Angular

Wenn Sie Echart in Angular verwenden, müssen Sie die Echart-API nur im entsprechenden Komponentenlebenszyklus aufrufen.

Initialisierung von Echart

Initialisieren Sie Echarts im ngOnInit-Ereignis der Komponente, konfigurieren Sie die Option, und dann wird das Echarts-Diagramm generiert.

App-Basisdiagrammkomponente

html

<div #chart [ngClass]="'chart-box ' + (!option ? 'empty-chart' : '')"></div>

CSS

// Grundlegender Diagrammstil.chart-box{
  Schriftstärke: fett;
  Rand: 1px durchgezogen #dcdcdc;
  Rahmenradius: 4px;
}
// Stil, wenn Option nicht verfügbar ist.empty-chart{
  Anzeige: Flex;
  Inhalt ausrichten: zentriert;
  Elemente ausrichten: zentrieren;
  Schriftgröße: 18px;
}
importiere { Komponente, ElementRef, Eingabe, OnDestroy, OnInit, ViewChild } aus '@angular/core';
importiere { von Event, Abonnement, Timer } von „rxjs“;
importiere { debounceTime, tap } aus 'rxjs/operators';
importiere { ECharts, EChartsOption, init } von 'echarts';
@Komponente({
  Selektor: ‚App-Basisdiagramm‘,
  Vorlagen-URL: "./base-chart.component.html",
  styleUrls: ['./base-chart.component.scss']
})
Exportklasse BaseChartComponent implementiert OnInit, OnDestroy {
  @Input()-Option: EChartsOption;
  @Input() Höhe = "300px";
  @Input() Breite = "100 %";
  @ViewChild('Diagramm', { statisch: true }) Diagramm: ElementRef;
  ein Diagramm: ECharts;
  windowResize: Abonnement;
  Timer: Abonnement;
  Standardraster = {
    oben: 10,
    rechts: 10,
    unten: 30,
    links: 30,
  };
  Konstruktor() { }
  ngOnInit(): void {
    dies.setListen();
    diese.boxStyleInit();
    if (!!diese.option) {
      dies.echartsInit();
    }anders{
      this.chart.nativeElement.innerText = „Noch keine Daten“;
    }
  }
  // Wenn die Komponente zerstört ist, storniere das zugehörige Abonnement ngOnDestroy(): void {
    wenn (dieses.windowResize) {
      this.windowResize.abbestellen();
    }
    wenn (dieser.Timer) {
      dies.timer.abbestellen();
    }
  }
  // Initialisiere die Größe des Containers
  boxStyleInit(): void {
    dieses.chart.nativeElement.style.width = diese.width;
    dieses.chart.nativeElement.style.height = diese.höhe;
  }
  // Setze den Ereignis-Listener für die Größenänderung des Fensters und zeichne die Größe der E-Charts neu setListen(): void {
    this.windowResize = fromEvent(Fenster, 'Größe ändern').pipe(
      Entprellzeit(200),
      tippen(res => {
        dies.aChart.resize();
      })
    ).abonnieren();
  }
  // Konfigurieren und generieren Sie ein eCharts-Diagramm gemäß der Option echartsInit(): void {
    Dies ist eine Tabelle, die aus mehreren Elementen besteht.
    this.aChart.setOption(Object.assign({ grid: this.defaultGrid }, this.option));
    // Größe der E-Charts durch den Verzögerer ändern this.timer = timer(400).subscribe(res => {
      dies.aChart.resize();
    });
  }
}

Verwenden der App-Base-Chart-Komponente

<app-base-chart [Option]="Option" Breite="100%" Höhe="300px" ></app-base-chart>

Verwenden Sie einfach den obigen Code im HTML der Komponente und Sie können auch die Höhe und Breite konfigurieren. Option ist die Option, die offiziell von echarts definiert wurde

Dies ist eigentlich eine einfache Kapselung einer grundlegenden Echarts-Generierungskomponente, alle Konfigurationselemente sind Echarts

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des Javascript Echarts Luftqualitätskarteneffekts
  • JavaScript-Datenvisualisierung: ECharts-Kartenerstellung
  • vue+echarts realisiert den Flusseffekt der China-Karte (detaillierte Schritte)
  • vue+echarts+datav Datenanzeige auf großem Bildschirm und Implementierung einer Drilldown-Funktion für Provinzen, Städte und Landkreise auf einer Karte Chinas
  • Fallstudie zur Einführung einer chinesischen Karte in Echarts in Vue

<<:  Zusammenfassung der häufigsten Fehler im Webdesign

>>:  Einführung in den Installationsprozess von MySQL 8.0 in einer Linux-Umgebung

Artikel empfehlen

Vue implementiert Klick-Feedback-Anweisungen für den Wasserwelleneffekt

Inhaltsverzeichnis Wasserwelleneffekt Sehen wir u...

MySQL implementiert den Vorgang zum Festlegen mehrerer Primärschlüssel

Benutzertabelle, ID-Nummer muss eindeutig sein, M...

Details zum Überschreiben von Prototypmethoden in JavaScript-Instanzobjekten

Inhaltsverzeichnis In JavaScript können wir norma...

Implementierung der durch Kommas getrennten MySQL-Split-Funktion

1: Definieren Sie eine gespeicherte Prozedur zum ...

JavaScript Dom implementiert das Prinzip und Beispiel eines Karussells

Wenn wir ein Karussell bauen wollen, müssen wir z...

Ein kurzer Vortrag über die Variablenförderung in JavaScript

Inhaltsverzeichnis Vorwort 1. Welche Variablen we...

Eine detaillierte Diskussion der Auswertungsstrategien in JavaScript

Inhaltsverzeichnis Eine Kastanie zum Abdecken Par...

Implementierungsprinzip und Konfiguration der MySql Master-Slave-Replikation

Die Trennung von Lese- und Schreibzugriffen in Da...

Analysieren Sie CSS, um die Farbfunktion des Bildthemas zu extrahieren (Tipps)

Hintergrund Alles begann, als ein Klassenkamerad ...

Vue implementiert eine einfache Notizblockfunktion

In diesem Artikelbeispiel wird der spezifische Co...

So löschen Sie Junk-Dateien elegant in Linux

Ich frage mich, ob Sie wie ich ein Programmierer ...

Detaillierte Erläuterung der kombinierten MySQL-Abfrage

Verwenden von UNION Die meisten SQL-Abfragen best...