VUEはG2チャートを使用した実装を導入します

VUEはG2チャートを使用した実装を導入します

G2チャートについて

G2 は、グラフィック文法の理論に基づいた視覚化エンジンです。データ駆動型で、グラフィック文法とインタラクティブ文法を提供し、非常に使いやすく拡張性に優れています。G2 を使用すると、チャートの面倒な実装の詳細に注意を払う必要はありません。Canvas または SVG を使用して、1 つのステートメントでさまざまなインタラクティブな統計チャートを作成できます。

G2 Charts 公式ウェブサイトアドレス
出典: antv.gitee.io

G2アイコン詳細開発マニュアル
https://antv-g2.gitee.io/zh/docs/api/general/chart

使用

ステップ1: G2依存パッケージをインストールする

npm インストール @antv/g2

ステップ2: 描画前にG2用のDOMコンテナを準備する

<div id="webInfo"></div>

ステップ3: インポート

"@antv/g2" から G2 をインポートします。

ステップ4: マウントされた状態で定義する

まず、let chart = null をグローバルに定義します。

const チャート = 新しい G2.Chart({})

チャート = 新しい G2.Chart({       
        container: "webInfo", // チャート コンテナーを指定します forceFit: true, // 強制フィット width: 600, // チャートの幅を指定します height: 306, // 高さ padding: [20, 30, 30, 50], // パディング})

ステップ5: データソースを読み込む

/今すぐチャートを更新/ 
チャートデータの変更 

/データを更新するだけで、チャートをすぐに更新する必要はありません/ 
チャートソース(チャートデータ) 

/チャートを更新する必要があるときに呼び出します/ 
チャートの再描画()

拡張されたクリアグラフィック文法

/すべてをクリーンアップ/
チャートをクリアします。 

テンプレートで使用される完全なコード (棒グラフ)

<テンプレート>
  <div id="c1"></div>
</テンプレート>
<スクリプト>
    エクスポートデフォルト{
        名前: 「スペクタキュラー」、
        データ(){
            戻る {
                基本的な列チャートプロパティ:{
                    データ:[{ ジャンル: 'スポーツ', 販売数: 275 },
                        { ジャンル: '戦略'、販売数: 115 }、
                        { ジャンル: 'アクション'、販売数: 120 },
                        { ジャンル: 'シューティング'、販売数: 350 }、
                        { ジャンル: 'その他'、販売数: 150 }]、
                    コンテナ:'c1',
                    幅:700,
                    高さ:600
                },
            }
        },
        方法:{
            テスト(){
                const データ = this.basicColumnChartProp.data;
                constチャート = 新しいG2.Chart({
                    コンテナ: this.basicColumnChartProp.container、
                    幅: this.basicColumnChartProp.width、
                    高さ: this.basicColumnChartProp.height
                });
                chart.source(データ);
                chart.interval().position('ジャンル*販売数').color('ジャンル')
                チャートをレンダリングします。
            }
        },    
        マウント() {
          これをテストします。
        },
    }
</スクリプト>

世界地図を追加する

(プロジェクトが困っていた時にG2のマップを探したのですが、APIドキュメントでは分かりにくく説明が足りない部分があると感じたのでここに記録しておきます)

<テンプレート>
  <div id="c1"></div>
</テンプレート>
<スクリプト>
    定数 DataSet は require('@antv/data-set');
    エクスポートデフォルト{
        名前: 「スペクタキュラー」、
        データ(){
            戻る {
                基本的な列チャートプロパティ:{
                    コンテナ:'c1',
                },
            }
        },
        方法:{
            テスト(){
              フェッチ('src/views/dataCenter/data/world/countries.geo.json')
              .then(res => res.json())
              .then(mapData => {
                constチャート = 新しいG2.Chart({
                  コンテナ:this.basicColumnChartProp.container、
                  フォースフィット: true、
                  高さ:700,
                  パディング: [10,10]
                });
                チャート.ツールチップ({
                  タイトルを表示: false
                });
                // 同期メトリック chart.scale({
                  経度:
                    同期: 真
                  },
                  緯度:
                    同期: 真
                  }
                });
                chart.axis(false);
                chart.legend('トレンド', {
                  位置: '左'
                });
 
                // 世界地図の背景を描画します const ds = new DataSet();
                定数ワールドマップ = ds.createView('back')
                  .source(mapData, {
                    タイプ: 'GeoJSON'
                  });
                定数worldMapView = chart.view();
                worldMapView.source(worldMap);
                worldMapView.tooltip(false);
                worldMapView.polygon().position('経度*緯度').style({
                  塗りつぶし: '#fff',
                  ストローク: '#ccc',
                  線幅: 1
                });
 
                定数userData = [
                  { 名前: 'ロシア'、値: 86.8 },
                  { 名前: '中国'、値: 106.3 },
                  { 名前: '日本'、値: 94.7 },
                  { 名前: 'モンゴル', 値: 98 },
                  { 名前: 'カナダ'、値: 98.4 },
                  { 名前: 'イギリス'、値: 97.2 },
                  { 名前: 'アメリカ合衆国'、値: 98.3 },
                  { 名前: 'ブラジル'、値: 96.7 },
                  { 名前: 'アルゼンチン'、値: 95.8 },
                  { 名前: 'アルジェリア'、値: 101.3 },
                  { 名前: 'フランス'、値: 94.8 },
                  { 名前: 'ドイツ'、値: 96.6 },
                  { 名前: 'ウクライナ'、値: 86.3 },
                  { 名前: 'エジプト'、値: 102.1 },
                  { 名前: '南アフリカ'、値: 101.3 },
                  { 名前: 'インド'、値: 107.6 },
                  { 名前: 'オーストラリア'、値: 99.9 },
                  { 名前: 'サウジアラビア'、値: 130.1 },
                  { 名前: 'アフガニスタン'、値: 106.5 },
                  { 名前: 'カザフスタン'、値: 93.4 },
                  { 名前: 'インドネシア'、値: 101.4 }
                ];
                定数userDv = ds.createView()
                  .source(ユーザーデータ)
                  。変身({
                    ジオデータビュー: ワールドマップ、
                    フィールド: '名前',
                    タイプ: 'geo.region',
                    形式: [ '経度', '緯度' ]
                  })
                  。変身({
                    タイプ: 'マップ'、
                    コールバック: obj => {
                      // obj.trend = obj.value
                      obj.trend = (obj.value > 100) ? '男性が多い' : '女性が多い';
                      obj を返します。
                    }
                  });
                ユーザービューをチャートビューに変換します。
                userView.source(userDv, {
                  トレンド: {
                    別名: 「女性 100 人あたりの男性の数」
                  }
                });
                ユーザービュー.ポリゴン()
                  .position('経度*緯度')
                  .color('トレンド', [ '#F51D27', '#0A61D7' ])
                  .opacity('値')
                  .tooltip('名前*トレンド')
                  .animate({
                    離れる:
                      アニメーション: 'fadeOut'
                    }
                  });
                チャートをレンダリングします。
              })
            },
        },
        マウント() {
          これをテストします。
        },
    }
</スクリプト>
  • fetchの公式サイトでは特定のjsonファイルではなくファイルディレクトリが紹介されており、使用時にファイルが見つからない
  • fetchによって導入されたjsonはローカルです。第二に、G2公式サイトが提供するリモートgithupアドレスはこのjsonファイルを取得できません。
  • fetchによって導入されたjsonファイルのパスは、現在のファイルからjsonへのパスではなく、index.htmlからjsonファイルへのアドレスです。

G2チャートを導入したVUEの実装に関するこの記事はこれで終わりです。G2チャートを使用したVUEのより関連性の高いコンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue で G2 チャートを使用するためのサンプル コード
  • vueプロジェクトでAntv G2を参照し、円グラフを例に挙げます。
  • VueでG2チャートをカプセル化する方法

<<:  MySQL ストアド プロシージャにおけるループ ステートメント (WHILE、REPEAT、LOOP) の使用法の分析

>>:  Tomcat の一般的な例外と解決コードの例

推薦する

js でパズルゲームを実装する

この記事では、パズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容は...

シェルスクリプトを使用して CentOS7 に python3.8 環境をインストールする (推奨)

ワンクリック実行仮想マシンに Python 3.8 をインストールするには、ネットワーク アダプター...

Linux システムでの CPU 使用率が高い場合のトラブルシューティングのアイデアと解決策

序文Linux 運用保守エンジニアとして、日々の業務の中で Linux サーバーの CPU 負荷が ...

Dockerイメージの作成、アップロード、プル、デプロイを理解するための記事

目次1. 画像1. 鏡とは何ですか? 2. 画像の構成と目的(1) Dockerファイル(2)スクラ...

UbuntuでGRUBの起動時間を変更する

grubの起動時間を変更するためのオンライン検索は基本的に/etc/default/grubを変更す...

Vueグローバルカスタム命令の実践 モーダルドラッグ

目次背景実装のアイデア成果を達成する背景最近取り組んでいるプロジェクトは、Vue2 で構築されたプロ...

JavaScript ステートメントの一般的な for ループの詳細な説明

JavaScript には、for、for in、for of、forEach ループなど、多くのル...

Node.jsミドルウェアの仕組みの詳細な説明

目次Express ミドルウェアとは何ですか? Expressミドルウェアを作成するための要件Exp...

LinuxでJenkinsのパスワードを忘れる方法

1.Jenkinsのインストール手順: https://www.jb51.net/article/1...

PrometheusとGrafanaを使用したMySQLサーバーのパフォーマンス監視の詳細な説明

概要Prometheus は、HTTP プロトコルを介してリモート マシンからデータを収集し、ローカ...

HTML ドキュメントに CSS を埋め込む一般的な 3 つの方法

HTMLでCSSを定義するには、埋め込み、リンク、インラインの3つの方法が一般的に使用されます。 1...

Dockerで構築されたコンテナにpingツールをインストールする

Centos や Ubuntu など、Docker が pull する Base イメージは最もシン...

モバイルウェブサイトの開発に関するいくつかの結論

ウェブサイトのモバイル版には、少なくともいくつかの基本機能が必要です。 1. ページの適用性の問題:...

MySqlサブクエリINの実装と最適化

目次IN が遅いのはなぜですか? INとEXISTSのどちらが速いでしょうか?効率を向上させるにはど...

Sitemesh チュートリアル - ページ装飾技術の原理と応用

1. 基本概念1. Sitemeshはページ装飾技術です。 1 : フィルターを通してページアクセス...