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    

Artikel empfehlen

JavaScript implementiert Produktdetails der E-Commerce-Plattform

In diesem Artikel wird ein allgemeines Beispiel f...

Lassen Sie uns über die Leistung von MySQLs COUNT(*) sprechen.

Vorwort Im Grunde verwenden Programmierer am Arbe...

Allgemeine Struktur-Tags in XHTML

Struktur Text, Kopf, HTML, Titel Text abbr, Akron...

SQL-Implementierung LeetCode (176. Zweithöchstes Gehalt)

[LeetCode] 176. Zweithöchstes Gehalt Schreiben Si...

So machen Sie React-Komponenten im Vollbildmodus

einführen Dieser Artikel basiert auf React + antd...

Fünf Lösungen für Cross-Browser-Probleme (Zusammenfassung)

Kurz zusammengefasst: Browserkompatibilitätsprobl...

Die ultimative Lösung zum Schreiben von Bash-Skripten mit Node.js

Inhaltsverzeichnis Vorwort zx-Bibliothek $`Befehl...

Vier Möglichkeiten zum Erstellen von Objekten in JS

Inhaltsverzeichnis 1. Objekte durch Literalwert e...

Javascript-Betriebsmechanismus „Event Loop“

Inhaltsverzeichnis 1. Vier Konzepte 1. JavaScript...