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

推薦する

HTML でのアンカータグの使用例の共有

アンカータグの使用法:同じドキュメント内の特定の場所にリンクすることをアンカー リンクと呼びます。ア...

HTML スペースコードの簡単な分析

HTML についてどれくらい知っていますか? 現在、基本的な HTML コードを学習している場合は、...

HTML(divレイヤー)を介してFLASHにリンクを追加するための実装コード

今日、クライアントが広告を掲載したいのですが、提供された素材は Flash です。私たちはあまり気に...

CentOS 7 で RPM を使用して mysql5.7.13 をインストールする

0. 環境この記事のオペレーティング システム: CentOS 7.2.1511 x86_64 My...

MySQLにデータを素早くインポートする方法

序文:日々の勉強や仕事の中で、データをエクスポートする必要に迫られることがよくあります。たとえば、デ...

IE8でラベルの背景画像が表示されない問題の解決方法

今日、ちょっとした問題に遭遇し、長い間苦労しました。そのことを皆さんにシェアしたいと思います。 a ...

mysql 基本操作文コマンドの詳細な説明

1. MySQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...

jsはフォーム検証機能を実装します

この記事の例では、フォーム検証機能を実装するためのjsの具体的なコードを参考までに共有しています。具...

Tcl言語に基づくシンプルなネットワーク環境を構成するプロセスの分析

1. Tclスクリプトファイルcircle.tclコードコメント #シミュレーションに必要なプロパテ...

Linux でファイルの種類を理解して識別する方法

序文ご存知のとおり、Linux ではハードディスクやグラフィック カードなどすべてがファイルです。 ...

加算、減算、乗算、除算の機能を実現するには、HTML に 2 つの数値を入力します。

1. parseFloat() 関数Web ページ上に簡単な計算機を作成し、テキスト ボックスに ...

将来最も成功する企業はテクノロジー企業でしょうか、それともデザイン企業でしょうか?

ムーアの法則はもはや適用されない2004年にフレックストロニクスがフロッグデザインを買収したのを皮切...

CSS3を使用してボタンホバーフラッシュダイナミック特殊効果コードを実装する

CSS3 の列シリーズ属性を使用してウォーターフォールレイアウトを作成する方法を紹介しました。興味の...

CSS はモバイル互換性の問題を解決するために 0.5px の線を実装します (推奨)

【コンテンツ】: 1.背景画像のグラデーションスタイルを使用する2. スケールを使ってズームできる...