角度でechartsマップを使用する詳細な説明

角度でechartsマップを使用する詳細な説明

Angular で echart を使用する場合は、対応するコンポーネントのライフサイクルで echart API を呼び出すだけで済みます。

echartの初期化

コンポーネントの ngOnInit イベントで echarts を初期化し、オプションを構成すると、echarts チャートが生成されます。

アプリベースチャートコンポーネント

html

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

CS

// 基本的なチャートスタイル.chart-box{
  フォントの太さ: 太字;
  境界線: 1px 実線 #dcdcdc;
  境界線の半径: 4px;
}
// オプションが利用できない場合のスタイル。empty-chart{
  ディスプレイ: フレックス;
  コンテンツの中央揃え: 中央;
  アイテムの位置を中央揃えにします。
  フォントサイズ: 18px;
}
'@angular/core' から { Component、ElementRef、Input、OnDestroy、OnInit、ViewChild } をインポートします。
'rxjs' から { fromEvent、Subscription、timer } をインポートします。
'rxjs/operators' から { debounceTime, tap } をインポートします。
'echarts' から { ECharts、EChartsOption、init } をインポートします。
@成分({
  セレクター: 'app-base-chart',
  テンプレート URL: './base-chart.component.html',
  スタイル URL: ['./base-chart.component.scss']
})
BaseChartComponentクラスをエクスポートし、OnInit、OnDestroyを実装します。
  @Input() オプション: EChartsOption;
  @Input() 高さ = '300px';
  @Input() 幅 = '100%';
  @ViewChild('chart', { static: true }) チャート: ElementRef;
  aChart: ECharts;
  windowResize: サブスクリプション;
  タイマー: サブスクリプション;
  デフォルトグリッド = {
    トップ: 10,
    右: 10,
    下: 30,
    残り: 30,
  };
  コンストラクタ() { }
  ngOnInit(): void {
    このメソッドはListenメソッドを呼び出す。
    このボックススタイルを初期化します。
    if (!!this.option) {
      this.echartsInit();
    }それ以外{
      this.chart.nativeElement.innerText = 'まだデータがありません';
    }
  }
  // コンポーネントが破棄されたら、関連するサブスクリプションをキャンセルします ngOnDestroy(): void {
    if (this.windowResize) {
      購読を解除します。
    }
    if (this.timer) {
      this.timer.unsubscribe();
    }
  }
  // コンテナのサイズを初期化する
  ボックススタイル初期化(): void {
    this.chart.nativeElement.style.width = this.width;
    this.chart.nativeElement.style.height = this.height;
  }
  // ウィンドウのサイズ変更イベントリスナーを設定し、echartsのサイズを再描画します setListen(): void {
    this.windowResize = fromEvent(window, 'resize').pipe(
      デバウンス時間(200)、
      タップ(res => {
        チャートのサイズを変更します。
      })
    )。購読する();
  }
  // オプションに従ってechartsチャートを設定および生成しますechartsInit(): void {
    this.aChart = init(this.chart.nativeElement);
    this.aChart.setOption(Object.assign({ grid: this.defaultGrid }, this.option));
    // 遅延器を介してechartsのサイズを変更します this.timer = timer(400).subscribe(res => {
      チャートのサイズを変更します。
    });
  }
}

app-base-chartコンポーネントの使用

<app-base-chart [オプション]="オプション" 幅="100%" 高さ="300px" ></app-base-chart>

上記のコードをコンポーネントの HTML で使用するだけで、高さと幅も設定できます。オプションはechartsによって公式に定義されたオプションです

これは実際には基本的なecharts生成コンポーネントの単純なカプセル化であり、すべての構成項目はechartsです。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Javascript Echarts 空気質マップ効果の詳細な説明
  • JavaScript によるデータ視覚化: ECharts マップの作成
  • vue+echarts で中国地図のフロー効果を実現する (詳細な手順)
  • vue+echarts+datav 大画面データ表示と中国地図の省、市、郡のドリルダウン機能の実装
  • Vue の echarts に中国地図を導入するケーススタディ

<<:  MySQL の永続性とロールバックの原理を 1 つの記事で理解する

>>:  Linux 環境に MySQL 8.0 をインストールするプロセスの紹介

推薦する

Ubuntu 18仮想マシンのクローン作成後に同じIPアドレスになる問題の解決方法

序文最近、仮想マシンを使用して Ubuntu 18.04 をインストールしました。クローン作成後、I...

WindowsX Hyper-V ベースの CentOS システムをインストールする

現在、Linux を使用するほとんどの人は、クラウド サーバーを使用するか、Windows 上に仮想...

Linux での Nginx 監視の問題

nginxのインストール仮想マシンがインターネットにアクセスできることを確認します。 1. ルートユ...

MySql ストアド プロシージャ パラメータの初歩的な使用法の詳細な説明

パラメータでのストアドプロシージャの使用IN パラメータは、プロシージャに情報を渡すためにのみ使用さ...

CSSは下部のタップバー機能を実装します

現在多くの携帯電話には、下部のタブバーを切り替える機能があります。私も最近、同様の機能を見つけました...

vue-element-adminフレームワークを使用して、バックエンドからメニュー機能を動的に取得します。

目次2. 詳しい説明2.1. asyncRoutesルーティングを追加する2.2. 新しいpermi...

Ubuntu 20.04 ベスト設定ガイド (初心者向け)

1. システム構成1. sudoパスワードをオフにするsudo コマンドを使用するたびにパスワード...

Reactプロジェクトの新規作成からデプロイまでの実装例

新しいプロジェクトを始めるこの記事では主に、新規プロジェクトを0から1まで取り組むプロセスを記録し、...

altとtitleの違いの詳しい説明

これら 2 つの属性はよく使用されますが、その違いはまとめられていません。それでは、その使い方をまと...

vue+element カスタムクエリコンポーネント

この記事では主に Vue プロジェクトを紹介します。要素の導入を前提として、コンポーネントを 2 回...

Mysql 更新マルチテーブル共同更新方法の概要

次に、2 つのテーブルを作成し、一連の SQL 文を実行します。SQL 文の実行後にテーブル内のデー...

HTML 再利用テクニック

HTML の再利用は、あまり話題に上らない言葉です。今日は、この問題を次のようにまとめたいと思います...

Vueカスタム命令とその使用方法の詳細な説明

目次1. 指令とは何ですか? Vue でよく使われる組み込みの v ディレクティブv-if と v-...

Nginxはリバースプロキシを使用して負荷分散プロセス分析を実装します

導入dockerコンテナとdocker-composeに基づいて、Linux環境でのdockerの基...

Vue はデータの変更をどのように追跡しますか?

目次背景例誤解 - コールスタックを表示するためにウォッチでブレークポイントを設定する正しいアプロー...