前回の記事に引き続き#Echart Bar ヒストグラム風詳細説明、先に前回の記事を読んでいただいても構いません、読んでいなくても特に影響は大きくありません。 横棒グラフデータとスタイルを動的に更新する月次統計と日次統計の動的な切り替えを実現します。統計を月別に計算すると、各月のデータが表示され、X 軸には 12 個のラベルが表示されます。統計を日別に計算すると、X 軸にはすべてのラベルが完全には表示されず、間隔を置いて表示され、列の幅も変わります。主に使用されるメソッドは setOption メソッドです。 公式ドキュメント [setOption]: echarts.apache.org/zh/api.html… <スクリプト> "ramda" から R として * をインポートします。 定数ソース1 = [ [「1月」、1330年、666、560]、 [「2月」、820、760、660]、 ...... [「11月」、901、880、360]、 [「12月」、934、600、700]、 ]; 定数ソース2 = [ ["1日", 1330, 666, 560], ["2番目", 820, 760, 660], ...... ["29日", 934, 600, 700], ["30日", 1330, 666, 560], ]; // 具体的な設定は前に示したとおりですが、詳細は省略し、基本的な例のみを示します。const initOption = { ... データセット: { ソース: source1 }, }; エクスポートデフォルト{ データ() { 戻る { チャート: null、 isDaily: 偽、 }; }, マウント() { this.charts = this.$echarts.init( document.getElementById("barCharts"), ヌル、 { レンダラー: "svg", } ); this.charts.setOption(R.clone(initOption)); }, メソッド: { ハンドルソース() { this.isDaily = !this.isDaily; this.charts.setOption( R.mergeDeepRight(initOption, { // データソースデータセットを動的に更新します: { ソース: this.isDaily ? ソース2: ソース1、 }, x軸: // ラベル間隔を動的に更新する axisLabel: { 間隔: this.isDaily ? 4 : "auto", }, }, シリーズ: R.map( // 列幅を動的に更新する (o) => ((o.barWidth = this.isDaily ? 12 : 24), o), initOption.シリーズ )、 })、 真実 ); チャートのサイズを変更します。 }, }, }; </スクリプト> eChartsの幅と高さの適応の問題を解決するWeb プロジェクトでチャートを作成する場合、チャートの幅と高さは固定されておらず、ブラウザの幅と高さに適応する必要があります。使用される方法は、サイズ変更です。複数のグラフがある場合は、同時にサイズを変更する必要があります。 <スクリプト> エクスポートデフォルト{ マウント() { window.addEventListener("サイズ変更", this.handleResize, false); }, 破壊された() { window.removeEventListener("サイズ変更", this.handleResize); }, メソッド: { ハンドルサイズ変更() { _this は定数です。 定数タイマー = setTimeout(() => { _this.lineCharts.resize(); _this.barCharts.resize(); }, 500); // タイマーをクリアします this.$once("hook:beforeDestroy", () => { タイマーを設定します。 }); }, }, }; </スクリプト> 縦棒グラフ縦棒グラフの実装本質は水平方向と同じで、x軸とy軸の値を置き換えるだけです。x軸は値、y軸はカテゴリです。 オプション = { x軸: タイプ: "値", }, y軸: { タイプ:「カテゴリー」、 }, }; 座標インジケータの背景グラデーションカラー実は原理は水平方向と同じで、グラデーションカラー処理領域のx値とy値が変更されます。 水平色を{ タイプ: "線形"、 x: 1, // 変更 y: 0, x2: 0, y2: 0, // colorStopsを変更: [ { オフセット: 0、色: "rgba(234,244,255,1)" }, { オフセット: 1、色: "rgba(234,244,255,0.3)" }, ]、 グローバル: false、 }; 列ごとに異なる色を設定する列のシリーズプロパティ設定の色は関数にすることができ、関数内で処理することができます。コアコードはcolorList[params.dataIndex]です colorList = [ とします。 "#1890ff", "#52c41a", "#faad14", "#f5222d", "#1DA57A", "#d9d9d9", ]; シリーズ = [ { タイプ: "バー", バー幅: 16, アイテムスタイル: { // 異なる色の列を実現するためにカスタマイズされた表示(順序) color: (params) => { colorList[params.dataIndex]を返します。 }, }, ディメンション: ["タイプ", "販売数量"], }, ]; 棒グラフの上に値を表示する列のシリーズプロパティ設定のラベルは関数にすることができ、関数内で処理することができます。位置、フォントの色、サイズなどを設定できます。コアコードはparams.value[params.encode.x[0]]です。 シリーズ = [ { // ...... タイプ: "バー", ラベル: { // 列グラフのヘッダー表示値 show: true, 位置: "右", 色: "#333", フォントサイズ: "12px", フォーマッタ: (パラメータ) => { params.value[params.encode.x[0]]を返します。 }, }, }, ]; ツールチッププロンプトボックスのカスタマイズ水平方向と同じですが、値params[0].axisValue、item.seriesName、item.value[item.encode.x[0]]に注意してください。 ツールチップを R.merge(tooltip, { フォーマッタ: 関数(パラメータ) { html = `<div style="height:auto;width:163px;">とします。 <div style="font-size:14px;font-weight:bold;color:#333;margin-bottom:16px;line-height:1;"> ${params[0].axisValue} </div> ${パラメータ 。地図( ( アイテム ) => `<div style="font-size:12px;color:#808080;margin-bottom:8px;display:flex;align-items:center;line-height:1;"> <span style="display:inline-block;margin-right:8px;border-radius:6px;width:6px;height:6px;background-color:${ アイテムの色 };"></span> ${item.seriesName} <span style="flex:1;text-align:right;">${ アイテム.値[アイテム.エンコード.x[0]] </span> </div>` ) 。参加する("")} </div>`; html を返します。 }, }); 全体的な実装チャート.setOption({ タイトル: テキスト:「販売数量分布」、 }, データセット: ソース: [ [「アップル」、200]、 [「ピーチ」、180]、 [「ブドウ」、340]、 [「バナナ」、250]、 [「マンゴー」、166]、 [「ドリアン」、185]、 ]、 }, x軸: R.merge(y軸, { タイプ: "値", })、 y軸: R.mergeDeepRight(x軸, { タイプ:「カテゴリー」、 軸ポインタ: シャドウスタイル: { 色: 水平色、 }, }, })、 シリーズ、 ツールチップ、 }); 要約するEcharts Bar 水平棒グラフに関するこの記事はこれで終わりです。より関連性の高い Echarts Bar 水平棒グラフのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。皆様が今後も 123WORDPRESS.COM を応援してくれることを願っています。 以下もご興味があるかもしれません:
|
<<: VirtualBox での CentOS 8.1 仮想マシンのインストールを最小限に抑える詳細なチュートリアル
>>: MySQL マスター スレーブ データが矛盾しています。プロンプト: Slave_SQL_Running: 解決策はありません
目次ここでの問題は次の通りです:解決策1:解決策2: コンストラクタで初期化を割り当てる採掘場の概要...
目次モードパラメータハッシュ履歴ハッシュ履歴.push()ハッシュ履歴.replace()アドレスバ...
開発を行う際に、次のような状況に遭遇することがよくあります。 a.swf が Web ページに追加さ...
Linux インストール MySQL ノート1. MySQL データベース サーバーをインストールす...
Windows と Linux 間でファイルを転送する場合は、Xftp ツールを使用できます。この...
この記事の例では、JavaScriptで4桁のランダムな検証コードを生成する具体的なコードを参考まで...
目次概要リバースプロキシの役割Nginx リバース プロキシ イントラネット侵入 8081 ポートの...
1 問題の説明: 1.1 Windows 10 に VMware を初めてインストールする場合、また...
この記事では、jQuery Canvasの描画画像検証コードの具体的なコードを例として紹介します。具...
システムをコンピューターにインストールする方法がわからない場合は、Linux を学習したい場合は、仮...
<div align="center"> <table sty...
パッシブチェックパッシブ ヘルス チェックでは、NGINX と NGINX Plus はイベントの発...
最近、同社は、下図に示すように、h5 ページ操作を完了するという要件を提示しました。 ネットで入手で...
JSON 文字列を JSON オブジェクトに変換するにはどうすればいいですか? JSON.parse...
正規表現は、特定のパターンに一致するテキストを検索および置換するためによく使用されます。たとえば、テ...