Vueは水平の斜めの棒グラフを実装します

Vueは水平の斜めの棒グラフを実装します

この記事では、水平傾斜棒グラフを実装するためのVueの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

結果:

実装コード:

<テンプレート>
  <div class="消費">
    <div style="width: 350px; height: 180px" ref="消費チャート" />
  </div>
</テンプレート>
<スクリプト>
'echarts' から echarts をインポートします
定数myShape = {
  x: 0,
  y: 0,
  幅: 10 // 間隔}
// 左側を描画する const InclinedRoofBar = echarts.graphic.extendShape({
  形状: myShape、
  ビルドパス: 関数(ctx, シェイプ) {
    // キャンバスを知っている人なら誰でもこれを理解できるはずです。shape はカスタムから渡されます。const xAxisPoint = shape.xAxisPoint
    定数 c0 = [形状.x, 形状.y]
    定数 c1 = [shape.x + 14, shape.y - 10]
    定数 c2 = [xAxisPoint[0], xAxisPoint[1] - 10]
    定数 c3 = [xAxisPoint[0], xAxisPoint[1]]
    ctx
      .moveTo(c0[0], c0[1])
      .lineTo(c1[0], c1[1])
      .lineTo(c2[0], c2[1])
      .lineTo(c3[0], c3[1])
      .closePath()
  }
})
定数 colors = ['rgba(50, 197, 255, 0.8)', 'rgba(0, 253, 255, 0.8)', 'rgba(255, 235, 0, 0.8)']
const colors = ['rgba(0, 145, 255, 1)', 'rgba(68, 215, 182, 1)', 'rgba(215, 170, 68, 1)']
// 3 つの表面グラフィックを登録します echarts.graphic.registerShape('InclinedRoofBar', InclinedRoofBar)
const デフォルトオプション = {
  ツールチップ: {
    表示: true、
    トリガー: '軸'、
    軸ポインタ:
      タイプ: '影'
    }
  },
  グリッド: {
    トップ: 10,
    下: 30,
    左: 10,
    右: 10,
    ラベルを含む: true
  },
  y軸: {
    タイプ: 'カテゴリ',
    データ: []、
    軸線: {
      表示:偽
    },
    軸目盛り: {
      表示:偽
    },
    軸ラベル: {
      色(値, インデックス) {
        色を返す[インデックス]
      },
      フォントサイズ: 14
    }
  },
  x軸:
    タイプ: '値',
    軸線: {
      表示:偽
    },
    最小: 0,
    分割行: {
      表示:偽
    },
    軸目盛り: {
      表示:偽
    },
    軸ラベル: {
      表示:偽
    },
    境界ギャップ: ['20%', '20%']
  },
  シリーズ: [
    {
      タイプ: 'カスタム'、
      名前: ''、
      アイテムスタイル: {
        色: 'rgba(44, 197, 253, 1)'
      },
      レンダリングアイテム: (パラメータ、API) => {
       定数位置 = api.coord([api.value(0), api.value(1)])
        定数xlocation = api.coord([0, api.value(1)])
        戻る {
          タイプ: 'InclinedRoofBar'、
          形:
            アピ、
            x値: api.value(0)、
            y値: api.value(1)、
            x: 場所[0],
            y: location[1] + myShape.width、
            xAxisPoint: [xlocation[0], xlocation[1] + myShape.width]
          },
          スタイル: {
            塗りつぶし: 新しい echarts.graphic.LinearGradient(0, 0, 1, 0, [
              {
                オフセット: 0,
                色: colors[params.dataIndex]
              },
              {
                オフセット: 1,
                色: colorss[params.dataIndex]
              }
            ])
          }
        }
      },
      データ: []
    },
    {
      タイプ: 'バー'、
      ラベル: {
        普通: {
          表示: true、
          位置: '右'、
          フォントサイズ: 14,
          オフセット: [15, 0]
        }
      },
      背景を表示: false、
      バー幅: 14,
      背景スタイル: {
        色: 'rgba(50, 197, 255, 0.1)'
      },
      アイテムスタイル: {
        色: '透明'
      },
      ツールチップ: {
        表示:偽
      },
      データ: []
    }
  ]
}
エクスポートデフォルト{
  データ() {
    戻る {
      myChart: ヌル
    }
  },
  マウント() {
    this.myChart = echarts.init(this.$refs.ConsumptionChart)
  },
  メソッド: {
    getOption(シリーズデータ) {
      const オプション = defaultOption
      const { yAxis, series } = オプション
      // プロセスデータ yAxis.data = ['low', 'middle', 'high']
      シリーズ[0].data = シリーズデータ
      series[1].data = seriesData.map((item, index) => Object.assign(item, { label: { color: colorss[index] } }))
      this.myChart.setOption(オプション)
    }
  }
}
</スクリプト>

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

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

<<:  CentOS7.8 に mysql 8.0.20 をインストールするための詳細なチュートリアル

>>:  TomcatのmaxPostSize属性を設定する際に注意する必要がある問題を解決する

推薦する

サーバー同時実行数の推定式と計算方法

最近、サーバーのストレステストを再度行う必要が出てきました。ここでは、最近学んだ見積もりスキームと見...

JavaScript でプロトタイプ パターンを実装する方法

概要プロトタイプ パターンは、プロトタイプ インスタンスによって作成されるオブジェクトの型を指し、こ...

MySQL データベースの制約とデータ テーブルの設計原則

目次1. データベースの制約1.1 はじめに1.2 制約の種類1.3 ヌルでない1.4 ユニーク1....

MySQL5.7.03 上位バージョンから MySQL 5.7.17 への置き換えインストール プロセスと見つかった問題の解決策

1. インストール方法は? 1. [実行] -> [cmd] と入力して、小さな黒いウィンドウ...

JavaScript Canvas は動的なワイヤーフレーム効果を描画します

この記事では、JavaScript Canvasの動的なワイヤーフレーム効果を描画する具体的なコード...

Webpack コンポーネントの使用状況統計を実装するための 50 行のコード

背景最近、リーダーからコンポーネント ライブラリを構築するように依頼があり、プロジェクトで現在使用さ...

MySQL で数千万のテストデータを含むテストデータベースを作成する方法

場合によっては、MySQL が公式に提供しているテスト ライブラリに基づいてテスト データを作成し、...

ウェブ開発者やデザイナーにとって欠かせないオンラインウェブツールとアプリケーション

これまでの記事で、フロントエンド開発者にとって必須のツール、スクリプト、リソースのコレクションを紹介...

継続的インテグレーションテストにおけるDocker Swarmの適用の詳細な説明

背景アジャイル モデルは広く使用されており、テストは特に重要です。新しいバージョンは頻繁にリリースす...

一般的なMysql DDL操作の概要

図書館管理ライブラリを作成する データベースを作成します [存在しない場合] ライブラリ名;ライブラ...

mysqldump を使用して MySQL データをバックアップする方法

1. mysqldump の紹介mysqldump は、MySQL に付属する論理バックアップ ツー...

JavaScriptはすべての選択と選択解除の操作を実装します

この記事では、JavaScriptで全選択と全選択解除の操作を実装するための具体的なコードを参考まで...

Linux ダイナミックライブラリの生成と使用ガイドの詳細な説明

Linux での動的ライブラリ ファイルのファイル名は libxxx.so のようになります。ここで...

「@INC で ExtUtils/MakeMaker.pm が見つかりません」というエラーを解決する

mha4mysql をインストールする場合の手順は、おおよそ次のようになります: unzip、per...

Vue はコンポーネント間の通信をどのように実装しますか?

目次1. 父と息子のコミュニケーション1.1 親コンポーネント --> 子コンポーネント1.2...