前回の記事に引き続き#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: 解決策はありません
Linux では、ファイルが作成されると、そのファイルの所有者はファイルを作成したユーザーになります...
html ¶ <html></html> html:xml ¶ <ht...
通常の説明%はどのクライアントでも接続できることを意味しますlocalhostはローカルコンピュータ...
表は以下のとおりです。 Unity が読み取って呼び出すときのコード: データベース内の別のテーブル...
1. 背景多くのブログや記事を読みましたが、JVM のメモリ割り当て方法に関する包括的な記事は見つか...
display: flex レイアウトに関しては、深く理解している人もいますし、私も他の人の作業か...
退屈していたので、突然角丸四角形の実装を思いつきました。しかし、私たちはこの話題についてあまりにも長...
1. はじめに先ほど、フロントエンドの表示の問題について説明しました。では、前のコンテンツに戻って、...
序文JavaScript で記述できるアプリケーションは、最終的には JavaScript で記述さ...
目次序文リスナーと計算プロパティの違いvue3 で watch を使用するにはどうすればいいですか?...
DOMContentLoaded イベント文字通り、DOM がロードされた後に実行されます。 win...
目次Tomcat8のインストールと設定方法tomcat ダウンロードTomcat マネージャーを有効...
1. 需要3 つのテーブルがあります。一定期間にわたるさまざまな抗生物質感受性の結果、つまり rep...
1. フォームテキスト入力のモバイル選択: テキスト入力フィールドにプロンプトが追加されている場...
Docker イメージの最初の行は FROM alpine などのイメージで始まりますが、最初のベー...