地域のカスタムカラーのためのechars 3Dマップソリューション

地域のカスタムカラーのためのechars 3Dマップソリューション

質問

プロジェクトの要件に従って、以下の州地図で個々の都市を(異なる色で)強調表示したいと考えています。

伸ばす

まず、このマップがどのように表示されるかを紹介します。

  • Vueフレームワークはechartsを使用する
  • マップはgeo3Dとscatter3Dを使用しています

もちろん、彼の実装は非常にシンプルです

まずechartsを初期化する必要があります

echartsMap を this.$echarts.init(this.$refs.echartsMap) とします。

登録マップ

this.$echarts.registerMap('河南', dataGeoLocation);
//後ろの dataGeoLocation は、ダウンロードして現在のコンポーネントに導入したマップの json ファイルであり、前の Henan は登録したいマップです。

オプションオブジェクトを設定する

ここでの構成は、独自のプロジェクト要件に基づいています。詳細な紹介については、ドキュメントをお読みください。

 this.echartsDataMap = {
              ビジュアルマップ:
                最小: 0,
                最大: 500、
                表示: 偽、
                範囲内: {
                  色: ['#eac736', '#6EAFE3'].reverse()
                },

              },
              地球半径: 100,
              地球外半径: 100,
              ジオ3D:
                マップ: マップ名、
                ビューコントロール: {
                  中心: [0, 0, 0],
                  alpha: 100, // 上下回転角度beta: 10, // 左右回転角度animation: true, // アニメーションを表示するかどうかDurationUpdate: 1000, // アニメーション時間distance: 130, // ビューから被写体までの距離minBeta: -9999, // 最小 (左) 回転角度maxBeta: 9999, // 最大 (右) 回転角度autoRotate: false,
                  自動回転方向: 'cw',
                  自動回転速度: 10,

                },
                分割エリア:{
                  エリアスタイル:{
                    色: '赤',
                  }
                },
                ライト:
                  主要: {
                    強度: 1.2、
                    // 色: '透明',
                    色: '#0D3867',
                    影品質: 'ultra'、
                    影: 真、
                    アルファ: 150,
                    ベータ: 200
                  },
                  周囲:
                    強度: 1, // 周囲の光の強度},
                  アンビエントキューブマップ:
                    拡散強度: 1、
                    テクスチャ: ''
                  }
                },
                グラウンドプレーン:
                  表示:偽
                },
                ポストエフェクト: {
                  有効: false
                },
                アイテムスタイル: {
                  色: '#175096',
                  境界線の色: 'rgb(62,215,213)',
                  不透明度: 0.8、//透明度 borderWidth: 1
                },
                ラベル: {
                  表示:偽
                },
                強調:
                  ラベル: {
                    表示:偽
                  },
                  アイテムスタイル: {
                  }
                },
                silent: false, // マウスイベントに応答しない、またはトリガーしない},
              シリーズ: [
                {
                  タイプ: 'scatter3D'、
                  座標系: 'geo3D',
                  データ: this.areaName
                  シンボル: '円'、
                  シンボルサイズ: 0,
                  silent: false, // マウスイベントに反応しない、またはトリガーしない itemStyle: {
                    境界線の色: '#fff',
                    境界線の幅: 1
                  },
                  ラベル: {
                    距離: 30,
                    表示: true、
                    フォーマッタ: '{b}',
                    位置: '下'、
                    下: '100'、
                    テキストスタイル: {
                      色: '#fff',
                      マージン上: 40,
                      フォントサイズ: 16,
                      // フォントの太さ:'太字',
                      背景色: '透明'、
                    }
                  }
                },
                {

                  タイプ: 'scatter3D'、
                  座標系: 'geo3D',
                  データ: pinArr、
                  色: '#6EAFE3',
                  シンボル: 'ピン'、
                  シンボルサイズ: 56,
                  シンボルオフセット: ['100%','50%','0'],
                  silent: false, // マウスイベントに反応しない、またはトリガーしない itemStyle: {
                    テキスト配置: 'center'、
                    境界線の色: '#6EAFE3',
                    背景色: '#6EAFE3',
                    境界線の幅: 0
                  },
                  zレベル: -10,
                  ラベル: {
                    表示: true、
                    距離: -45,
                    // 左: -10,
                    位置: '下'、
                    フォーマッタ: (データ) => {
                      data.value[3] + ' 'を返します。
                    },
                    テキストスタイル: {
                      色: '#333',
                      背景色: '透明'
                    }
                  }
                },

              ]
            };

オプションインスタンスをeチャートに配置する

echartsMap.setOption(this.echartsDataMap);

問題を解決する

記事の冒頭の問題を振り返ってみましょう。Baiduでいろいろな方法を見つけましたが、試してみたところ、効果がないようです。実際、インターネットで提供されている方法に従って改善したら解決できました。


これは、多くの方法の中で私が見つけた、より信頼性の高い方法です。ここで、geo に領域を追加するように言われています。実際、このようになっていますが、追加した後、機能しなくなりました。理由は、私のは geo3D で、彼のは geo だからですが、大きな問題ではありません。3 回試した後、最終的に、書き込み方法が異なるだけであることがわかりました。

地域:      
                {
                  名前: '鄭州市', /
                  アイテムスタイル: {
                      色: '緑'
                  }
                },{
                  名前:「南陽市」 
                  アイテムスタイル: {
                      色: '緑'
                  }
                },{
                  名前:「商丘市」
                  アイテムスタイル: {
                      色: '緑'
                  }
                }]

色の設定を修正して、geo3D に追加するだけです。

要約する

これで、echars 3Dマップのエリアのカスタムカラーに関するこの記事は終了です。echars 3Dマップのカスタムカラーに関するより関連性の高いコンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • echarts で凡例の色とマップの背景色を設定する例
  • echarts3 の使い方のまとめ(各種チャートや地図の描画)
  • echarts を使用して地図 (ヒート マップ) (世界地図、州および市町村の地図、地区および郡の地図) を描画する Python の詳細な説明
  • Echarts マップにガイドライン効果 (labelLine) が追加されました
  • Vue の echarts に中国地図を導入するケーススタディ

<<:  VMware 15 仮想マシンに Ubuntu 18.04 をインストールするグラフィック チュートリアル

>>:  MySQL の非主キー自己増分使用例の分析

推薦する

MySQLのジョイントクエリについて詳しく説明します

目次ユニオンクエリ1. 中国の各省のIDと名前を照会する2. 湖南省のすべての地級市のIDと名称3....

ウェブページ上の小さなスペースに大きな画像を配置する方法

出典: www.bamagazine.comウェブページのバナー、ニュースの見出しの周りのスペース、...

フレームセットを使用して複雑なページレイアウトを実装するためのテクニックの概要

コードをコピーコードは次のとおりです。 <html> <!--混合フレームレイアウ...

Angularの親子コンポーネント通信の詳細な説明

目次概要1. 入力および出力プロパティの概要2. 入力属性3. プロパティバインディングは親コンポー...

Linux での MySQL 5.7.18 バイナリ パッケージのインストール チュートリアル (デフォルトの構成ファイル my_default.cnf なし)

現在、MySQL を学習中です。私は完全な初心者で、Linux についてはあまり知りません。今後の作...

JenkinsのLinuxインストール手順と各種問題解決(ページアクセス初期化パスワード)

1. Java環境jdk1.8を準備するJavaがインストールされているかどうかを確認します。イン...

MySQL の従来のソート、カスタム ソート、中国語のピンイン文字によるソート

MySQL の通常のソート、カスタム ソート、中国語のピンイン文字によるソート。実際の SQL を記...

VMware15 centos7 ブリッジモード ssh に突然アクセスできなくなる問題を解決する

仮想マシンに独自の LAN IP を持たせたいので、テストを容易にするためにブリッジを使用します。 ...

Docker Swarmの概念と使用法の詳細な説明

Docker Swarm は、Docker によって開発されたコンテナ クラスター管理サービスです。...

docker に openjdk をインストールして jar パッケージを実行する方法

画像をダウンロード docker プル openjdkデータボリュームの作成java_appデータボ...

Nginx 構成の場所の一致ルールの例の説明

nginx の設定命令のスコープは、main、server、location の 3 種類に分けられ...

MySQL マスターとスレーブの不整合とその解決策の詳細な説明

1. MySQL マスタースレーブ非同期1.1 ネットワーク遅延MySQLのマスタースレーブレプリケ...

LINUX ポートが占有されているかどうかを確認します

ポートが占有されているかどうかは、これまで一度もわかりませんでした。多くの人に尋ねて、ようやくわかり...

react setStateの詳細な説明

目次setState は同期ですか、それとも非同期ですか?カスタム合成イベントと React フック...

Vueキャッシュ機能の使い方

目次vue2のキャッシュ機能Vue キャッシュ関数の変換最適化要約するvue2のキャッシュ機能vue...