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

推薦する

CentOS はローカル yum ソースを使用して LAMP 環境を構築するグラフィック チュートリアル

この記事では、ローカル yum ソースを使用して CentOS 上に LAMP 環境を構築する方法に...

JavaScript バブルソートの例

目次1. バブルソートとは何か2. 例を挙げるラウンド1:第2ラウンド:第3ラウンド:第4ラウンド:...

CSS3セレクターの新機能の実装

目次基本的なセレクタ拡張属性セレクタ疑似クラスと疑似要素セレクター基本的なセレクタ拡張1. 子要素セ...

シンプルで簡単なJavaScript開発のためのSvelte実装原理の詳細な説明

目次デモ1フラグメントの作成スヴェルトコンポーネント状態を変更できるデモSvelte は長い間存在し...

Dockerでnginxをデプロイし、設定ファイルを変更する方法

Dockerでnginxをデプロイするのはとても簡単ですたった 1 行のコマンド: docker 実...

uniappの無痛トークンリフレッシュ方法の詳細な説明

フロントエンドがインターフェースを要求すると、バックエンドでインターフェースが定義されます。ステータ...

MySQL でのサブクエリの基本的な使用法

目次1. サブクエリの定義2. サブクエリの分類1. スカラーサブクエリ: 2. MySQLサブクエ...

Webデザインチュートリアル(7):Webデザインの効率化

<br />前の記事:Webデザインチュートリアル(6):デザインへの情熱を持ち続けまし...

mysql 更新ケース更新フィールド値が固定されていない操作

特定のデータの一括更新処理において、特定のステータスが固定値に更新されるなど、更新するフィールドの値...

Linuxでmore、less、catコマンドを使用してファイルの内容を表示します

Linux では、cat、more、less の各コマンドを使用してファイルの内容を表示できます。c...

Win2008 サーバー セキュリティ チェック手順ガイド (日常のメンテナンス手順)

ドキュメントはしばらく前から書いていましたが、アップロードする勇気がありませんでした。サーバーのセキ...

解析を実装するためにPostgreSQLデータベースを書き込むSQLスクリプト関数

この記事は主に、PostgreSQL データベースを記述して解析を実装する SQL スクリプト関数を...

MySQL クエリ データベース容量方法手順

すべてのデータベースの合計サイズを照会する方法は次のとおりです。 mysql> informa...

vscode を使用したリモート Linux 開発の実装

過去に別れを告げるvscode にリモート SSH が導入される前は、Linux サーバー開発者の多...

コピー&ペーストはパッケージングの敵です

OO、デザイン パターン、および多くのオブジェクト指向の原則について話す前に、まず 1 つのことを習...