Vue+echarts で積み上げ棒グラフを実現

Vue+echarts で積み上げ棒グラフを実現

この記事では、積み上げ棒グラフを実装するためのVue+echartsの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

echarts サブコンポーネント

<テンプレート>
  <div class="chart" ref="chartEle"></div>
</テンプレート>
<スクリプト>
  「echarts」からechartsをインポートします。
  '@/components/event/event-bus' から eventBus をインポートします。
  エクスポートデフォルト{
    小道具: {
      凡例データ:
        タイプ: 配列、
        デフォルト: []
      },
      x軸データ: {
        タイプ: 配列、
        デフォルト: []
      },
      シリーズデータ: {
        タイプ: 配列、
        デフォルト: []
      }

    },

    データ() {
      戻る {
        echartsObj: null、
      }
    },

    マウント() {
      var that = これ
      eventBus.$on("ウィンドウのサイズ変更", ターゲット => {
        that.echartsObj && that.echartsObj.resize()
      });
    },

    メソッド: {
      initCharts() {
        this.echartsObj = echarts.init(this.$refs.chartEle)
        オプションの設定()
        // window.onresize = 関数() {
        // this.echartsObj.resize()
        // }
      },

      チャートのサイズを変更する() {
        this.echartsObj.resize()
      },

      オプションを設定する(){
        const that = this
        var オプション = {
          色: ['#2DC6C8', '#B6A2DD'],
          // ツールチップ: { トリガー: 'item'、フォーマッタ: "{a} : {c}" },
          ツールチップ: { },
          //データビュー、折れ線グラフ、復元、保存表示マークツールボックスを右側に表示します: {
            特徴:
              // データビュー: {表示: true、読み取り専用: false},
              // マジックタイプ: {show: true, type: ['line', 'bar']},
              // 復元: {表示: true},
              // saveAsImage: {表示: true}
              魔法の種類: {
                表示: true、
                タイプ: ["line", "bar"],
                アイコン:
                  行: "image:///static/images/toolbox_zhexian.png",
                  バー: "image:///static/images/toolbox_zhuzhuangtu.png"
                }
              },
              復元する:
                表示: true、
                アイコン: "image:///static/images/toolbox_shuaxin.png"
              },
              画像として保存: {
                表示: true、
                アイコン: "image:///static/images/toolbox_xiazai.png"
              }
            }
          },
          伝説: {
            下: '5'、
            データ: this.legendData
          },
          グリッド: {
            上: '40'
          },
          x軸: [
            {
              タイプ: 'カテゴリ',
              データ: this.xAxisData、
              axisLine: { lineStyle: { color: '#7DABB0' }} // x軸の目盛りの色}
          ]、
          y軸: [
            {
              タイプ: '値',
              軸線: {
                lineStyle: { color: '#7DABB0' } // y軸の色},
              軸目盛り: {
                lineStyle: { color: '#7DABB0' } // y軸のスケールの色}
            }
          ]、
          シリーズ: this.seriesData
        }
        this.echartsObj.setOption(オプション)
      }
    }
  }
</スクリプト>
<スタイルスコープ>
  .チャート{
    高さ: 360ピクセル;
    幅: 100%;
  }
</スタイル>

echarts 親コンポーネント

<テンプレート>
  <div>
    <form-search @onSearch="onSearch"> </form-search>
    <div class="panel orioc-table-panel" slot="center">
      <!-- チャート -->
      <多様化-棒グラフ
        ref="バーチャート"
        :legendData="凡例データ"
        :seriesData="シリーズデータ"
        :xAxisData="xAxisData"
      ></多様化-BarChart>
      <!-- 表 -->

    </div>


  </div>
</テンプレート>

<スクリプト>
  '@/components/formSearch/formSearch' から FormSearch をインポートします。
  '@/components/event/event-bus' から eventBus をインポートします。
  '@/components/echarts/diversificationBarChart/index' から DiversificationBarChart をインポートします。
  エクスポートデフォルト{
    名前: 'リスト',
    // コンポーネント: { FormSearch、eventBus、DiversificationBarChart }、
    データ() {
      戻る {
        legendData: [], // 凡例 xAxisData: [], // x軸 seriesData: []// チャートデータ}
    },
    マウント() {
      // リストを読み込む this.legendData = ['自動アラーム', '手動アラーム']
      this.xAxisData = ['2018-09-02', '2019-02-25', '2019-05-25']
      this.seriesData = [
        {
          名前:「自動アラーム」
          タイプ: 'バー'、
          stack:'111', // スタック barMaxWidth: '100', // 棒グラフデータの最大幅: [20, 30, 40]
        },
        {
          名前:「手動アラーム受信」
          タイプ: 'バー'、
          stack:'111', // スタック barMaxWidth: '100', // 棒グラフデータの最大幅: [10, 50, 35]
        }
      ]
      this.$nextTick(() => {
        eventBus.$emit('ウィンドウのサイズ変更')
        this.$refs.barCharts.initCharts()
      })
    },
    メソッド: {
      onSearch(データ) {}
    }
  }
</スクリプト>

<スタイルスコープ>

</スタイル>

レンダリング

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue+Echartは3次元の縦棒グラフを実現します
  • VueはEchartアイコンプラグインの棒グラフを使用します
  • Echarts を使用して棒グラフを描く vue の詳細な説明
  • Vue+Echart 棒グラフで疫病データ統計を実現
  • Vue echarts は水平棒グラフを実現します
  • Vue+echart で 2 列チャートを実現
  • Vueは水平の斜めの棒グラフを実装します
  • Vue+echarts でプログレスバーのヒストグラムを実現
  • VueはEchartsを使用して3次元棒グラフを実装します
  • Vue+ Antv F2 は積み上げ棒グラフを実現します

<<:  MySQL 8.0 に移行する際の注意点 (要約)

>>:  Tomcat の maxPostSize 設定に関する問題と注意事項

推薦する

この記事ではJavaScriptの基本であるディープコピーとシャローコピーについて説明します。

目次浅いコピーディープコピー補充する要約するコピー(クローン、複製などとも呼ばれる)ですが、ディープ...

CSSを使用してダークモードとブライトモードを切り替える

Web Skills第5号では、CSSでダークモードやハイライトモードを実装するための技術的なソリュ...

Tomcatはスレッドプールを使用してリモート同時リクエストを処理します。

Tomcatが同時リクエストを処理する方法を理解することで、スレッドプール、ロック、キュー、および...

Vue のスロットとフィルターの詳細な説明

目次スロットスロットとは何ですか?スロットの内容コンパイルスコープフォールバックコンテンツ名前付きス...

テキストエリアの使用に関する注意事項

なぜテキストエリアについて具体的に言及するのでしょうか?なぜなら、textarea ノードは実際には...

MySQL ジョイントテーブル更新デー​​タの詳細な例

1.MySQL UPDATE JOIN構文MySQL では、UPDATE ステートメントでJOIN句...

UbuntuのVimにNERDTreeプラグインをインストールする詳細な手順

NERDTree は Vim 用のファイル システム ブラウザーです。このプラグインを使用すると、ユ...

CSS calc() の数式に関する詳細な理解

数式 calc() は CSS の関数であり、主に数学演算に使用されます。 calc() を使用する...

JS addEventListener() およびattachEvent() メソッドは登録イベントを実装します

JavaScript の DOM イベント モデルでは、オブジェクトの addEventListen...

Linux システムのユーザー管理コマンドの概要

ユーザーとグループの管理1. ユーザーとグループの基本概念ユーザーとグループ:システム上のすべてのプ...

Tomcat9 Windows サービスのインストールに関する詳細なチュートリアル

1. 準備1.1 service.bat を含む tomcat 圧縮パッケージをダウンロードします。...

Linux サーバー上で nvidia-docker 環境を設定するプロセスの詳細な説明

Docker はコンテナに相当し、必要な動作環境に応じて対応する動作環境を構築できます。このとき、各...

Node.js での組み込みモジュールとカスタムモジュールの実装

1. コモンズCommonjsはNode.jsのカスタムモジュールですCommonjs 仕様は、Ja...

nginx rewriteを使用してURLをリダイレクトする方法

最近仕事でnginxの設定を変更する必要が頻繁にあり、nginxでrewriteを使用する方法を学び...

Macシステムをインストールした後にVMWareがフルスクリーンで表示できない問題を解決する

システム: VMTOOLs ダウンロード:リンク: https://pan.baidu.com/s/...