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 設定に関する問題と注意事項

推薦する

HTML ページでコンテンツの選択、コピー、右クリックを防止する方法の詳細な説明

時には、Web ページに掲載されているコンテンツが悪意のある人物に盗用されるのを望まないため、Web...

ページングのどのページでMySQLのレコードをクエリするか

序文実際には、次のような問題に遭遇する可能性があります。特定のレコードの ID がわかっていて、その...

CSS3 における擬似クラスの一般的な使用法の詳細な説明

before/after 疑似クラスは、要素内に 2 つの追加タグを挿入するのと同じです。最も適した...

MySQLデータベーストリガーの詳細な説明

目次1 はじめに2 トリガーの紹介3 トリガーを作成する4 トリガーを表示5. トリガーの削除6 結...

CSS BEM 命名標準の概要 (推奨)

1 BEM命名標準とはBem は、ブロック、要素、修飾子の略語であり、Yandex チームによって...

XHTML チュートリアル: Transitional と Strict の違い

実際、XHTML 1.0 は、Transitional DOCTYPE と Strict DOCTY...

Vue3は現在のルーティングアドレスを取得します

正解useRouterの使用: // ルーターパス: "/user/:uid" ...

Ubuntu 20.04 ファイアウォール設定の簡単なチュートリアル (初心者)

序文ますます便利になった今日のインターネット社会では、さまざまなインターネット ランサムウェア ウイ...

HTML サブタグと sup タグ

今日はあまり使わないHTMLタグ「subタグ」と「supタグ」を紹介します。定義と使用法: <...

MYSQL SERVER のログファイルを縮小する方法

トランザクション ログには、関連するデータベースに対する操作が記録され、データベースの回復に関連する...

CocosCreatorでゲームコントローラーを使用する方法

目次1. シーンレイアウト2. ハンドルリスナーを追加する1. イベントの変更を監視する2. 座標設...

LambdaProbe を使用して Tomcat を監視する方法

導入: Lambda Probe (旧称 Tomcat Probe) は、Apache Tomcat...

MySQL 5.7 でパスワードを忘れた場合の解決方法の詳細な説明

環境: [root@centos7 ~]# uname -r 3.10.0-514.el7.x86_...

TypeScript 列挙型

目次1. 概要2. デジタル列挙2.1 逆マッピング3. 文字列の列挙4. const列挙5. まと...

Vue が価格カレンダー効果を実現

この記事では、価格カレンダー効果を実現するためのVueの具体的なコードを例として紹介します。具体的な...