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属性を設定する際に注意する必要がある問題を解決する

推薦する

MySQL 8.0.23 無料インストールバージョンの設定詳細チュートリアル

最初のステップは、MySQL 8.0.23の無料インストールバージョンをダウンロードすることです。 ...

HTML テーブルタグチュートリアル (24): 行の水平方向の配置属性 ALIGN

水平方向では、行の配置を左、中央、右に設定できます。基本的な構文<TR ALIGN="...

Linux プロセスが占有するポート番号を表示する 6 つの方法

Linux システム管理者にとって、サービスがポートに正しくバインドされているか、またはポートをリッ...

Linux システムによって報告される tcp_mark_head_lost エラーの処理方法

問題の説明最近、ホストから次のカーネル情報が報告されました。 7月8日 10:47:42 cztes...

ウェブページの色特性の分類

色特性の分類あらゆる色は、赤、緑、青の三原色から構成されます。三原色の中で暖色なのは赤だけなので、作...

MySQL交換パーティションの詳細な例

MySQL交換パーティションの詳細な例序文exchange パーティションを紹介する前に、まず my...

nginx を介して方向プロキシを実装するプロセスの図

この記事は主に、nginx を介して方向プロキシを実装するプロセスを紹介します。この記事のサンプル ...

Alibaba Cloud イメージリポジトリを使用して外部 Docker イメージを構築する方法の詳細な説明

Alibaba Cloud Image Repositoryを使用して外部イメージをダウンロードする...

Dockerコンテナ相互接続の予備的な実践についての簡単な説明

1. Dockerコンテナ間の相互接続Docker は現在、軽量の仮想化ソリューションとなっています...

Vueでショッピングカートのすべての機能を実装する簡単な方法

主な機能は次のとおりです。製品情報を追加する製品情報を変更する単一の製品を削除する複数の製品を削除す...

MySQL 空間データストレージと関数

目次1. データ型1. MySQL空間データとは何か2. GeoJSONとは3. 空間データ型のフォ...

さまざまなターミナルで Mac が SSH 経由でリモート サーバーに接続する方法の説明

Macはシェル(ターミナル)SSHを使用してリモートサーバーに接続します前提条件: 接続する必要があ...

2つのVirtualBox仮想ネットワークをブリッジするLinuxブリッジメソッドの手順

この記事は、この時期の「ピーターから奪ってポールに払う」という仕事のスタイルに対する私の不満から生ま...

HTML で余分なテキストを省略記号に変換する方法

HTML で余分なテキストを省略記号として表示したい場合は、いくつかの方法があります。 1行テキスト...

HTML の左右レイアウトのサンプルコード

CS: ...コードをコピーコードは次のとおりです。 html,body{ margin:0px; ...