eCharts でパーセンテージ付きの横棒グラフを実装する方法

eCharts でパーセンテージ付きの横棒グラフを実装する方法

サンプルコード

var データ = [220, 182, 191, 234, 290, 120, 65, 444];
var バーの幅 = 20;
var 最大数 = 0;
(var i = 0; i < データ長さ; i++) {
    if (データ[i] > maxNum) {
        最大数 = データ[i];
    }
}
 
オプション = {
    背景色: '黒'、
    グリッド: {
        上: '10%'、
        左: '20%'、
        右: '10%'、
        下部: '0%'、
    },
 
    タイトル:
        テキスト: 'パーセンテージ列'、
    },
    x軸:
        表示: 偽、
    },
    y軸: {
        データ: data.map((item, index) => `data ${index}`),
        分割行: {
            表示: 偽、
        },
        軸ラベル: {
            テキストスタイル: { フォントサイズ: '80%', 色: '#02afff' },
        },
        軸線: {
            表示: 偽、
        },
        軸目盛り: false、
    },
    シリーズ: [
        {
            タイプ: 'バー'、
            バー幅: バー幅、
            zレベル: 2,
            データ: data.map(function (item) {
                戻る {
                    値: アイテム、
                    最大数: 最大数、
                };
            })、
            ラベル: {
                表示: true、
                位置: 'inside'、
                // 距離: 80,
                配置: '中央'、
                フォーマッタ: 関数 (パラメータ) {
                    // params.data.realValue を返します。
                    var パーセント = Number((params.data.value / params.data.maxNum) * 100).toFixed(2) + '%';
                    リターン率;
                },
                色: '#fff',
                フォントサイズ: 12,
            },
            アイテムスタイル: {
                境界半径: 10,
                色: 新しい echarts.graphic.LinearGradient(0, 1, 1, 1, [
                    { オフセット: 0、色: '#395CFE' },
                    { オフセット: 1、色: '#2EC7CF' },
                ])、
            },
        },
        {
            タイプ: 'バー'、
            バー幅: バー幅、
            バーギャップ: '-100%',
            データ: data.map(function (item) {
                戻る {
                    実数値: 項目、
                    値: maxNum、
                };
            })、
            ラベル: {
                表示: true、
                位置: '右'、
                距離: 80,
                配置: '右'、
                フォーマッタ: 関数 (パラメータ) {
                    params.data.realValue + 'item' を返します。
                },
                色: '#02afff',
                フォントサイズ: 18,
            },
            アイテムスタイル: {
                境界半径: 10,
                色: 'rgba(3,169,244, 0.5)',
            },
        },
    ]、
};

レンダリング

コード分​​析

1. オプションの前に、データ配列を定義し、for ループを使用して配列内の最大値を取得し、それを maxNum 変数として保存します。

2. シリーズに 2 つのバーを定義します。最初のバーのデータがマッピングされ、値は手順 1 のデータに設定されます。オブジェクト型が返されます。オブジェクトには、value と maxNum の 2 つの属性が含まれます (value は必須属性、maxNum はカスタム属性で、必要に応じて他のカスタム属性を追加できます)。maxNum 属性が追加されるのは、ラベルのフォーマッタが value/maxNum を使用してパーセンテージを計算する必要があるためです。シリーズでデータをオブジェクト型として返すという書き方は初めて目にしました。計算用のデータを取得するのにとても便利です。

3. シリーズの 2 番目のバーも、マップを通じてデータを割り当てます。違いは、このバーの値がすべて maxNum に設定されていることです。2 番目のバーは背景として機能し、100% の進行状況に相当します。 realValue 属性が必要な理由は、各項目の値 (220、182、191、234、290、120、65、444 など) をバーの右側に表示する必要があるためです。

4. 最初のバーは上にあり、2 番目のバーは下にあります。キーは、最初のバーの zlevel:2 と 2 番目のバーの barGap: '-100%' です。

echarts の公式ウェブサイトでより多くの事例を読むことは、私にとって本当に有益です。

要約する

これで、echarts でパーセンテージ付きの横棒グラフを実装する方法に関するこの記事は終了です。echarts パーセンテージ横棒グラフの関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Echarts バー水平棒グラフのサンプルコード
  • Echarts 基本入門: 棒グラフと折れ線グラフの一般的な構成

<<:  Node.jsはMySQLデータベースの実戦記録を追加、削除、変更、チェックします

>>:  検索テキストボックスがフォーカスを外れたときにテキストの位置がジャンプする問題の解決方法

推薦する

HTMLハイパーリンクタグAのTARGET属性の詳細な説明

ハイパーリンク <a> タグはリンク ポイントを表します。これは英語の単語「anchor...

ウェブページのコピー防止機能の実装方法(クラッキング手法付き)

ソース ファイルを右クリックすると、次のコードが見つかります。 1. CSSを使用してFirefox...

JSはキャンバス技術を使用してeChartsの棒グラフを模倣します

Canvas は HTML5 の新しいタグです。js を使用して Canvas 描画 API を操作...

Linux の非常に詳細な gcc アップグレード プロセス

目次序文1. 現在のgccバージョン2. gccをインストールする3.gmpのインストール4.MPF...

Linux サーバーのグラフィック カードのクラッシュの解決策

ログインインターフェースの解像度が特に大きい場合、グラフィカルインターフェース全体が特に大きくなり、...

docker-compose を使用して Apollo カスタム環境をデプロイする詳細なチュートリアル

目次アポロ コンフィギュレーション センターとは何ですか?アポロの特徴クライアントアーキテクチャアー...

Reactを使用する際の7つの落とし穴のまとめ

目次1. コンポーネントの肥大化2. 状態を直接変更する3. プロパティは数値を渡す必要があるが文字...

Linux のファイル システム タイプの表示方法の例

Linux でパーティションのファイル システム タイプを確認する方法。パーティションのファイル シ...

高性能な HTML アプリケーションを作成するためのヒント

Web ページのパフォーマンスを向上させるにはどうすればよいでしょうか?ほとんどの開発者は、Java...

MySQL8のパスワードを忘れた場合の簡単な解決策

序文MySQL データベースのパスワードを忘れると、データベースに正常にアクセスできなくなり、パスワ...

リソースアップロード機能を実現するための SpringBoot+nginx の詳細な例

最近、画像、ビデオ、CSS/JS などの静的リソースを配置するために nginx を使用する方法を学...

MySQL レプリケーション テーブルの詳細とサンプル コード

MySQL レプリケーション テーブルの詳細な説明テーブル構造、インデックス、デフォルト値などを含む...

Docker Gitlab+Jenkins+Harborは永続的なプラットフォーム運用を構築します

CI/CD の概要CIワークフロー設計Gitコードバージョン管理システムはコマンドラインでのみ管理で...

Linux での Nginx アンチホットリンクと最適化の実装コード

バージョン番号を非表示バージョン番号は非表示になっていません。セキュリティを強化するために、バージョ...

ZooKeeper をベースにした Hadoop 高可用性クラスタの構築のチュートリアル図

目次1. 高可用性の概要1.1 可用性の高い全体アーキテクチャ1.2 QJMに基づく共有ストレージシ...