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 の一般的な例外と解決コードの例

推薦する

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト 1...

Javascript の基礎: 演算子とフロー制御の詳細な説明

目次1. オペレーター1.1 算術演算子1.2 インクリメント演算子とデクリメント演算子1.3 比較...

MySQLクエリ結果をCSVにエクスポートする方法

MySQL クエリ結果をcsvにエクスポートするには、通常、php を使用して mysql に接続し...

Linux ネットワーク システムの紹介

目次ネットワーク情報ホスト名を変更するDNSドメイン名解決ネットワーク関連コマンドファイアウォール暗...

純粋な CSS で実装された 3 つの通知バーのスクロール効果

序文通知バー コンポーネントは、比較的一般的なコンポーネントです。基本的に、すべてのサイトにこのよう...

Vue.js フロントエンド Web ページ ポップアップ非同期動作例の分析

目次1. 序文2. ポップアップコンポーネントを2つ見つける3. 自分で作る3.1. Promise...

SQL ファジー クエリ レポート: ORA-00909: パラメータの数が無効です。解決策

あいまいクエリにOracleデータベースを使用する場合、コンソール エラーは次の図に表示されます。理...

Webpack での publicPath の使用法の詳細な説明

目次出力出力パス出力.publicPath webpack-dev-server の publicP...

Ubuntu での MySQL へのリモート ログインのインストールと設定に関するチュートリアル

この記事では、MySQLのインストールと設定のリモートログインチュートリアルを参考までに紹介します。...

MySQL max_allowed_pa​​cket 設定

max_allowed_pa​​cket は、受け入れるパケットのサイズを設定するために使用される ...

Linux で開いているファイルが多すぎる問題を解決する方法

原因は、プロセスが特定の時点でシステム制限を超える数のファイルと通信リンクを開くことです。 システム...

CSS flex 複数列レイアウト

基本的な3列レイアウト 。容器{ ディスプレイ: フレックス; 幅: 500ピクセル; 高さ: 20...

CSSはletter-spacingプロパティを通じて単語間の間隔を制御します。

letter-spacing プロパティ: 文字間のスペース (文字間隔) を増減します。このプロ...

Vue3の組み込みコンポーネントであるTeleportの使い方を詳しく説明します

目次1. テレポートの使用2. モーダルダイアログコンポーネントを完成させる3. コンポーネントのレ...

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

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