3次元縦棒グラフは、正面、右側、上部の3つの部分で構成されています。描画するときは、正面をグラフィックとして、右側と上部をグラフィックとして描画し、echatsに登録し、オプションのシリーズのrenderItemでレンダリングする必要があります。 コードは次のとおりです。 (1)グラフィックの登録と描画 レジストリ(){ MyCubeRect = this.$echarts.graphic.extendShape({ 形: x: 0, y: 0, 幅: 20, z幅: 8, 高さ: 4 }, ビルドパス: 関数 (ctx, シェイプ) { 定数api = shape.api 定数 xAxisPoint = api.coord([shape.xValue, 0]) 定数 p0 = [形状.x, 形状.y] 定数 p1 = [shape.x - shape.width / 2, shape.y] 定数 p4 = [shape.x + shape.width / 2, shape.y] 定数p2 = [shape.x - shape.width / 2, xAxisPoint[1]] 定数p3 = [shape.x + shape.width / 2, xAxisPoint[1]] ctx.moveTo(p0[0], p0[1]) ctx.lineTo(p1[0], p1[1]) ctx.lineTo(p2[0], p2[1]) ctx.lineTo(p3[0], p3[1]) ctx.lineTo(p4[0], p4[1]) ctx.lineTo(p0[0], p0[1]) ctx.closePath() } }) MyCubeShadow = this.$echarts.graphic.extendShape({ 形: x: 0, y: 0, 幅: 20, z幅: 8, 高さ: 4 }, ビルドパス: 関数 (ctx, シェイプ) { 定数api = shape.api 定数 xAxisPoint = api.coord([shape.xValue, 0]) 定数 p1 = [shape.x - shape.width / 2, shape.y] 定数 p4 = [shape.x + shape.width / 2, shape.y] 定数 p6 = [shape.x + shape.width / 2 + shape.zWidth, shape.y - shape.zHeight] 定数 p7 = [shape.x - shape.width / 2 + shape.zWidth, shape.y - shape.zHeight] 定数p3 = [shape.x + shape.width / 2, xAxisPoint[1]] 定数 p5 = [shape.x + shape.width / 2 + shape.zWidth, xAxisPoint[1] - shape.zHeight] ctx.moveTo(p4[0], p4[1]) ctx.lineTo(p3[0], p3[1]) ctx.lineTo(p5[0], p5[1]) ctx.lineTo(p6[0], p6[1]) ctx.lineTo(p4[0], p4[1]) ctx.moveTo(p4[0], p4[1]) ctx.lineTo(p6[0], p6[1]) ctx.lineTo(p7[0], p7[1]) ctx.lineTo(p1[0], p1[1]) ctx.lineTo(p4[0], p4[1]) ctx.closePath() } }) this.$echarts.graphic.registerShape('MyCubeRect', MyCubeRect) this.$echarts.graphic.registerShape('MyCubeShadow', MyCubeShadow) } (2)グラフィックスのレンダリング バーチャートオプション: { ツールチップ: { トリガー: '軸'、 軸ポインタ: タイプ: 'クロス'、 ラベル: { 背景色: '#6a7985' } } }, グリッド: { ラベルを含む: true、 上: '30px'、 下: '0px'、 左: '0px' }, x軸: タイプ: 'カテゴリ', 軸ラベル: { 間隔: 0, フォントサイズ: フォントサイズ(12) }, 軸線: { 表示: 偽、 線のスタイル: 色: '#98b9c5' } }, data: [] // バックエンド js を通じて渡されるデータ}, y軸: { タイプ: '値', 軸ラベル: { フォントサイズ: フォントサイズ(12) }, 軸線: { 表示: 偽、 線のスタイル: 色: '#98b9c5' } }, 分割行: { 線のスタイル: 色: '#3a586a', タイプ: '破線' } } }, シリーズ: [{ 名前:「単位面積あたりのエネルギー消費量」 タイプ: 'カスタム'、 レンダリングアイテム: (パラメータ、API) => { location = api.coord([api.value(0), api.value(1)]) とします。 戻る { タイプ: 'グループ'、 子供たち: [{ タイプ: 'MyCubeRect', 形: アピ、 x値: api.value(0) - 0.5、 y値: api.value(1)、 x: 場所[0], y: 場所[1] }, スタイル: api.style() }, { タイプ: 'MyCubeShadow', 形: アピ、 x値: api.value(0) - 0.5、 y値: api.value(1)、 x: 場所[0], y: 場所[1] }, スタイル: { 塗りつぶし: api.style(), 文章: '' } }] } }, スタック: 「単位面積あたりのエネルギー消費量」、 ラベル: { 表示: true、 位置: 'トップ'、 フォーマッタ: '{c}', テキストスタイル: { フォントサイズ: フォントサイズ(12) 色: '#fff', 配置: '中央' } }, アイテムスタイル: { 色: 新しい this.$echarts.graphic.LinearGradient( 0、0、0、1、 [ { オフセット: 0、色: '#b1950d' }, { オフセット: 0.5、色: '#aea20d' }, { オフセット: 1、色: '#a5aa12' } ] ) }, data: [] //バックエンドから渡されるデータ}] } 注記: 1) グラフィックを登録する場合、スタイルのみを使用できます: api.style(); バーチャートを生成する() { vm = this とします if (this.$refs['uintEnergyConsume']) { //this.$refs は生成されたグラフィック領域の参照値です this.$echarts.graphic.registerShape('MyCubeRect', this.MyCubeRect) this.$echarts.graphic.registerShape('MyCubeShadow', this.MyCubeShadow) this.barChart = this.$echarts.init(this.$refs['uintEnergyConsume']) this.barChart.setOption(this.barChartOption、false、true) $(window).resize(function () { //画面の適応 vm.handleResize() }) } } (4)テンプレート内のコード <div ref="uintEnergyConsume" id="uintEnergyConsume" class="chart-container" style="width: 100%;" element-loading-text="読み込み中..."></div> </div> (5)その効果は以下のとおりである。 参照グラフィックURL: VueはEchartsを使用して3次元棒グラフを実装します 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL 8.0.20 winx64 のインストールと設定方法のグラフィックチュートリアル
>>: Maven プロジェクトのリモート デプロイメント && Tomcat を使用してデータベース接続を構成する方法
目次1. 読みやすいコード1. 統一コード形式2. マジックナンバーを削除する3. 単一機能原則2....
目次1. 浅いコピー1. Object.assign(ターゲット、ソース、ソース...) 2. スプ...
テーブル:reward(報酬テーブル)があるとします。テーブル構造は次のようになります。 テーブルt...
原因最近、プロジェクトのリファクタリングを始めたのですが、マスタースレーブと読み取り書き込み分離を使...
1. はじめに(1)vw/vhの紹介使用する前に、vw と rem とは何か、その機能について簡単に...
クエリで EXPLAIN を実行するとデータベースが変更されるかどうかを尋ねられた場合、おそらく「い...
目次1. 補足知識ポイント: 関数の暗黙的な変換2. 補足知識: call/apply を使って配列...
Ubuntu では、ショートカット キーでタッチパッドをオフにできない状況によく遭遇します。この問題...
デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...
目次1. 実行コンテキストとは何か2. 実行コンテキスト スタックとは何ですか? 3. 実行コンテキ...
通常は ul、li を介して選択のデフォルト スタイルを変更して、実現をシミュレートします。このよう...
目次マウスジョイント マウスジョイント距離ジョイント距離ジョイントモータージョイント直動ジョイント変...
Ubuntu 20.04は2020年4月に正式にリリースされました。本日、ミラーシステムを正式にイン...
目次導入建築ESXIの利点vSphere とは何ですか? 2. 仮想マシンの利点3. 仮想マシンを使...
mysql 8.0.22 winx64のインストールと設定のグラフィックチュートリアルは参考までに、...