EChartsマウスイベント処理方法の詳細な説明

EChartsマウスイベント処理方法の詳細な説明

イベントとは、クリック、マウスオーバー、ページの読み込み後にトリガーされる読み込みイベントなど、ユーザーまたはブラウザ自体によって実行されるアクションです。
ユーザーの操作と動作パスを記録するには、マウス イベント処理とコンポーネント インタラクション動作イベントの処理を完了する必要があります。

イベントに応答する関数はイベント ハンドラーと呼ばれ、イベント処理関数またはイベント ハンドルとも呼ばれます。マウス イベントは、マウスがチャート上のグラフィックをクリックしたとき (click、dblclick、contextmenu など)、またはチャート上のグラフィックの上にマウスを置いたとき (mouseover、mouseout、mousemove など) にトリガーされるイベントです。

ECharts では、ユーザーのあらゆる操作によって対応するイベントがトリガーされる可能性があります。 ECharts では、click、dblclick、mousedown、mousemove、mouseup、mouseover、mouseout、globalout、contextmenu を含む 9 つの一般的なマウス イベントがサポートされています。

その中で、クリック イベントが最もよく使用されます。一般的なマウス イベントとその説明を表に示します。

クリック イベントは、チャート要素で mousedown イベントと mouseup イベントが連続してトリガーされた場合にのみトリガーされます。 dblclick イベントは、2 つのクリック イベントが連続してトリガーされた場合にのみトリガーされます。 mousedown または mouseup のいずれかがキャンセルされた場合、クリック イベントはトリガーされません。クリック イベントが直接的または間接的にキャンセルされた場合、dblclick イベントはトリガーされません。

ある大学の2020年度の専門職入学状況を棒グラフにすると、図のようになります。

棒グラフの「人工知能」列をクリックしてマウス クリック イベントを追加すると、上図に示すようにプロンプ​​ト ダイアログ ボックスがポップアップ表示されます。

プロンプトダイアログボックスで[OK]ボタンをクリックすると、下の図に示すように、対応するBaidu検索ページが自動的に開きます。

この凡例のソースコードは次のとおりです。

<html>

<ヘッド>
	<メタ文字セット="utf-8">
	<script type="text/javascript" src='js/echarts.js'></script>
</head>

<本文>
	<div id="main" style="幅: 800px; 高さ: 600px"></div>
	<script type="text/javascript">
		var myChart = echarts.init(document.getElementById("main")); //準備したDOMに基づいてEChartsチャートを初期化します。var option = { //チャートの色の設定項目とデータを指定します: ['LimeGreen', 'DarkGreen', 'red', 'blue', 'Purple'],
			backgroundColor: 'rgba(128, 128, 128, 0.1)', //rgba は透明度を 0.1 に設定します
			title: { text: 「2020年度某大学入学状況まとめ」, 左: 70, 上: 9 },
			ツールチップ: { ツールチップ: { 表示: true }, },
			凡例: { データ: ['2019 年度入学者数'], 左: 422, 上: 8 },
			xAxis: { //x軸座標系を設定します。データ: ["ビッグデータ"、"クラウドコンピューティング"、"ERP"、"人工知能"、"ソフトウェア開発"、"モバイル開発"、"ネットワークテクノロジー"]
			},
			yAxis: {}, //y軸の座標系を設定します series: [{ //データシリーズ名を設定します: '登録学生数:',
				type: 'bar'、barWidth: 55、//棒グラフデータの各列の幅を設定します: [350、200、66、210、466、200、135]
			}]
		};
		myChart.setOption(option); // 指定した設定項目とデータを使用してチャートを表示します // コールバック関数はマウスクリックイベントを処理し、対応する Baidu 検索ページにジャンプします myChart.on('click', function (params) {
			var yt = alert("マウスクリックイベント、クリックした項目: " + params.name);

			ウィンドウを開きます('https://www.baidu.com/s?wd=' + encodeURIComponent(params.name));
		});
		window.addEventListener("サイズ変更", 関数() {
			myChart.resize(); // チャートをウィンドウのサイズに合わせて調整します });
		myChart.setOption(option); //echarts オブジェクトのデータをロードします </script>
</本文>

</html>

ECharts では、すべてのマウス イベントにパラメーター params が含まれます。 params はクリックされたグラフィックのデータ情報を含むオブジェクトです。params の基本的なプロパティと意味を表に示します。

コールバック関数自体はメイン関数のパラメータです。コールバック関数は別のメイン関数にパラメータとして渡されます。メイン関数が実行されると、コールバック関数が実行されます。このプロセスはコールバックと呼ばれます。コールバック関数では、オブジェクト内のデータ名とシリーズ名を取得し、データ内のその他の情報をインデックス化し、チャートを更新したり、フローティング レイヤーを表示したりします。

製品の売上と出力利益のデータを使用して、図に示すように棒グラフを描きます。

左の写真の 2 番目の製品「ウール セーター」の「生産」列をクリックすると、右の写真に示すようにプロンプ​​ト ダイアログ ボックスがポップアップ表示されます。

右の画像からは、左の画像の 2 番目の製品「ウール セーター」の「生産」列の params パラメータの属性情報を取得できます。

凡例のソースコードは次のとおりです。

<html>

<ヘッド>
	<メタ文字セット="utf-8">
	<script type="text/javascript" src='js/echarts.js'></script>
</head>

<本文>
	<div id="main" style="幅: 800px; 高さ: 600px"></div>
	<script type="text/javascript">
		//準備された DOM に基づいて、ECharts チャートを初期化します。var myChart = echarts.init(document.getElementById("main"));
		var option = { //チャートの色の設定項目とデータを指定します: ['LimeGreen', 'DarkGreen', 'red', 'blue', 'Purple'],
			backgroundColor: 'rgba(128, 128, 128, 0.1)', //rgba は透明度を 0.1 に設定します
			タイトル: { テキスト: '製品の売上、生産、利益統計'、左: 70、上: 9 }、
			xAxis: { //x軸座標系を設定します。データ: ["シャツ", "セーター", "シフォンシャツ", "パンツ", "ハイヒール", "ソックス"]
			},
			yAxis: {}, //y軸座標系を設定します tooltip: { //プロンプトボックスコンポーネントを設定します trigger: 'item', show: true,
				フォーマッタ: "{a} <br/>{b} : {c}"
			},
			伝説: {}、
			series: [ //データシリーズを構成する { //データシリーズ1を設定する: 売上 name: 'sales', type: 'bar',
					データ: [5, 28, 16, 20, 15, 33]
				},
				{ //データ系列2を設定: 出力名: 'output'、タイプ: 'bar'、
					データ: [15, 38, 20, 24, 20, 45]
				},
				{ //データ系列3を設定: 利益 名前: 'Profit'、タイプ: 'bar'、
					データ: [25, 15, 10, 10, 15, 22]
				}
			]
		};
		myChart.setOption(option); // 指定した設定項目とデータを使用してチャートを表示します。window.addEventListener("resize", function () {
			myChart.resize(); // チャートをウィンドウのサイズに合わせて調整します });
		//コールバック関数はマウスクリックイベントを処理し、データ情報コンテンツを表示します。myChart.on('click', function (params) {
			alert("No. " + (params.dataIndex + 1) + "製品: " + params.name + "の " +
				params.seriesName + "is:" + params.value +
				"\n\n 1--コンポーネントタイプ:" + params.componentType +
				"\n 2--シリーズタイプ:" + params.seriesType +
				"\n 3--シリーズインデックス:" + params.seriesIndex +
				"\n 4--シリーズ名:" + params.シリーズ名 +
				"\n 5--名前:" + params.name +
				"\n 6--データインデックス:" + params.dataIndex +
				"\n 7--データ:" + params.datax +
				"\n 8--データ型:" + params.dataType +
				"\n 9--値:" + params.value +
				"\n 10--色:" + params.color);
		});
		myChart.setOption(option); //echarts オブジェクトのデータをロードします </script>
</本文>

</html>

マウスクリックイベントのパラメータ params を含む棒グラフコードでは、コールバック関数を呼び出すことで、マウスイベントのパラメータ params 内の基本プロパティ (params.dataIndex、params.name、params.seriesName、params.value など) にアクセスし、下から 12 行目と 13 行目に「2 番目の製品: ウールセーターの生産量は 38 です」と表示できます。

コードの 11 行目から最後から 2 行目は、マウス イベント パラメータ params の 10 個の基本プロパティに順番にアクセスし、図 5-13 のプロンプト ダイアログ ボックスの各行に順番に表示します。

params.data と params.dataType の値は未定義であることに注意してください。

要約する

ECharts マウス イベント処理に関するこの記事はこれで終わりです。より関連性の高い ECharts マウス イベント コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • echartsはフォーマッタを使用してマウスホバーイベント情報操作を変更します

<<:  2 つのテーブル コピー ステートメントの詳細な説明: SELECT INTO と INSERT INTO SELECT (SQL データベースと Oracle データベースの違い)

>>:  MySQL 圧縮版 zip のインストールに関する問題の解決策

推薦する

水平プログレスバーの最後にテキストを表示するための実装コードの CSS 記述

問題の説明仕事で以下の成果を達成したいと考えています。 解決div タグに相対配置を追加し、絶対配置...

JS+Canvas でダイナミックな時計効果を実現

参考までに、Canvas をベースにしたダイナミッククロックのデモを用意しました。具体的な内容は次の...

Centos7 システムでの MySQL マスター スレーブ同期構成スキーム

序文最近、高可用性プロジェクトに取り組む際には、データの同期が必要になっています。ノードが 2 つし...

Centos7 esxi6.7 テンプレートの実際のアプリケーションの詳細な説明

1. Centos7.6システムを作成し、システムを最適化する1. NetworkManagerをオ...

Centos7.5 は mysql5.7.24 バイナリ パッケージの展開をインストールします

1. 環境整備:オペレーティング システム: CentOS Linux リリース 7.5.1804 ...

CentOS7 (YUM) での MySQL 5.7 のインストールと設定のチュートリアル

インストール環境: CentOS7 64ビット、MySQL5.7 1. YUMソースを設定するMyS...

Ubuntu 18.04 での Pycharm インストール チュートリアルの実装

方法1: Pycharmをダウンロードしてインストールするダウンロードアドレス: https://w...

HTML thead タグの定義と使用法の詳細な紹介

コードをコピーコードは次のとおりです。 <thead> <!– 最初の 2 行をヘ...

Raspberry Pi 4b ubuntu19 サーバーへの docker-ce のインストール手順

Raspberry Pi モデルは 4b、1G RAM です。システムはubuntu19.10サーバ...

divコンテナ内の背景色または画像は、サイズが大きくなるにつれて大きくなります。

コードをコピーコードは次のとおりです。高さ:自動 !重要;高さ:550px;最小高さ:550px; ...

PSSHを使用してLinuxサーバーを一括管理する

pssh は、多数のマシンでのバッチ ssh 操作に使用される、Python で実装されたオープン ...

MySQL データベースのホットスタンバイにおける問題点の分析

以前、MySQL データベースのデュアルマシン ホット スタンバイの設定方法を紹介しました。ご興味の...

Dockerでイメージを削除する方法

dockerでイメージを削除するコマンドはdocker rmiですが、このコマンドを実行してもイメー...

SpringBoot と Docker の統合の詳細なプロセス

目次1. デモプロジェクト1.1 インターフェースの準備1.2 構成の準備2. Dockerがリモー...

Vueリストデータを削除した後、ページを自動的に更新する方法と更新方法の詳細な説明

問題の説明:フロントエンドがデータの一部を削除したり、新しいデータを追加したりすると、バックエンドの...