バックエンド管理プロジェクトを開発する場合、バックエンドのユーザーデータをカウントし、折れ線グラフや円グラフの形式で表示する必要があります。ここでは、要件を満たすために Apache-echarts を使用します。 1. echartsをインストールしてインポートするnpm インストール echarts --save 'echarts' から * を echarts としてインポートします。 2. echartsを使用して円グラフを実装する<テンプレート> <div id="chartPie" class="pie-wrap"></div> </テンプレート> <スクリプト> 'echarts' から * を echarts としてインポートします。 require('echarts/theme/macarons');//テーマを導入する export default { データ() { 戻る { チャート円: null } }, マウント() { this.$nextTick(() => { this.drawPieChart(); }) }, メソッド: { 円グラフを描く() { mytextStyle = {とする 色: "#333", フォントサイズ: 18, }; mylabel = { 表示: true、 位置: "右", オフセット: [30, 40], フォーマッタ: '{b} : {c} ({d}%)', テキストスタイル: mytextStyle }; this.chartPie = echarts.init(document.getElementById('chartPie'),'マカロン'); this.chartPie.setOption({ タイトル: テキスト: '円グラフ'、 サブテキスト: 「完全に架空のもの」 x: '中心' }, ツールチップ: { トリガー: 'アイテム', フォーマッタ: "{a} <br/>{b} : {c} ({d}%)", }, 伝説: { データ: ['ダイレクトアクセス'、'メールマーケティング'、'アフィリエイト広告'、'ビデオ広告'、'検索エンジン']、 左:「中央」、 上:"下", 方向:"水平", }, シリーズ: [ { 名前: 'アクセスソース'、 タイプ: 'パイ'、 半径: ['50%', '70%'], 中央: ['50%', '50%'], データ: [ {値: 335、名前: '直接アクセス'}, {値: 310、名前: 'メールマーケティング'}, {値: 234、名前: 'Alliance Advertising'}, {値: 135、名前: 'ビデオ広告'}, {値: 1548、名前: '検索エンジン'} ]、 アニメーションイージング: 'cubicInOut', アニメーション時間: 2600, ラベル: { 強調: mylabel } } ] }); } } } </スクリプト> <style lang='less' スコープ> .pie-wrap{ 幅:100%; 高さ:400px; } </スタイル> 3. echartsを使用して折れ線グラフを実装する<テンプレート> <!-- ECharts のサイズ (幅と高さ) を持つ DOM を準備します --> <div id="chartLine" class="line-wrap"></div> </テンプレート> <スクリプト> 'echarts' から * を echarts としてインポートします。 require('echarts/theme/shine');//テーマを導入する export default { データ() { 戻る { チャートライン: null } }, マウント() { this.$nextTick(() => { 線グラフを描画します。 }) }, メソッド: { 線グラフを描く() { this.chartLine = echarts.init(this.$el,'shine');// 準備された dom に基づいて echarts インスタンスを初期化します。let option = { ツールチップ: { トリガー: '軸' }, 伝説: { データ:['メールマーケティング'、'アフィリエイト広告'、'ビデオ広告'、'ダイレクトアクセス'、'検索エンジン'] }, 計算可能: true、 x軸: [ { タイプ: 'カテゴリ'、 境界ギャップ: false、 軸目盛り: { 表示:偽 }, データ: ['月曜日'、'火曜日'、'水曜日'、'木曜日'、'金曜日'、'土曜日'、'日曜日'] } ]、 y軸: [ { タイプ: '値'、 軸目盛り: { 表示:偽 }, 名前: '(人)' } ]、 シリーズ: [ { 名前:「電子メールマーケティング」、 タイプ:'line'、 スタック: '合計金額'、 データ:[120, 132, 101, 134, 90, 230, 210] }, { 名前:「アライアンス広告」 タイプ:'line'、 スタック: '合計金額'、 データ:[220, 182, 191, 234, 290, 330, 310] }, { 名前:「ビデオ広告」 タイプ:'line'、 スタック: '合計金額'、 データ:[150, 232, 201, 154, 190, 330, 410] }, { 名前:「直接アクセス」、 タイプ:'line'、 スタック: '合計金額'、 データ:[320, 332, 301, 334, 390, 330, 320] }, { 名前:「検索エンジン」、 タイプ:'line'、 スタック: '合計金額'、 データ:[820, 932, 901, 934, 1290, 1330, 1320] } ] }; // 指定した設定項目とデータを使用してグラフを表示します。this.chartLine.setOption(option); } } } </スクリプト> <style lang='less' スコープ> .行折り返し{ 幅:50%; 高さ:400px; } </スタイル> 4. eチャートの基本概念1) echartsインスタンス 1 つの Web ページに複数の echarts インスタンスを作成でき、各 echarts インスタンスに複数のチャートと座標系を作成できます (オプションで説明)。 DOM ノード (echarts のレンダリング コンテナーとして) を準備し、その上に echarts インスタンスを作成します。 2) シリーズ 値のセットとそれらがマッピングされるグラフ。シリーズには、少なくとも、値のセット、グラフ タイプ (series.type)、およびこれらのデータがグラフにマッピングされる方法に関するその他のパラメーターが含まれます。 3) コンポーネント echarts には、少なくとも次のコンポーネントがあります: xAxis (直交座標系の X 軸)、yAxis (直交座標系の Y 軸)、grid (直交座標系の底板)、dataZoom (データ領域ズーム コンポーネント)、visualMap (ビジュアル マッピング コンポーネント)、tooltip (プロンプト ボックス コンポーネント)、toolbox (ツールバー コンポーネント)、series (シリーズ)、... 5.echarts共通設定項目とAPI1) メインタイトルとサブタイトルを含むタイトルコンポーネント タイトル: text: '円グラフ', // メインタイトルテキスト subtext: '完全に架空のもの', // サブタイトルテキスト x: 'center', textStyle:{//メインタイトルのスタイルカラー: "#333", フォントサイズ: 18 }, subtextStyle:{}, // 字幕スタイル itemGap: 10, // メインと字幕の間隔} 2) 凡例コンポーネント 伝説: { left:"center", //凡例コンポーネントとコンテナの左側の間の距離 top:"bottom", //凡例コンポーネントとコンテナの上部の間の距離 orient:"horizontal", //凡例リストのレイアウト方向 itemGap :20, //各凡例項目間の間隔 formatter: function (name) { //凡例テキストのフォーマットに使用され、文字列テンプレートとコールバック関数の両方をサポートします~~~~ '凡例' + 名前を返します。 }, icon:'circle', //凡例項目のアイコン データ: [ { アイコン: '三角形'、 テキストスタイル: { 色: 「赤」 }, 名前: 「直接アクセス」 }, ['E メール マーケティング'、'アフィリエイト広告'、'ビデオ広告'、'検索エンジン']、//凡例のデータ配列} 3) xAxis: 直交座標系グリッドのx軸 x軸: [ { type : 'category', // 軸タイプ boundaryGap : false, axisTick:{//軸スケール関連の設定を表示: false }, data: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] // カテゴリデータ} ] 4) yAxis 直交座標系グリッドのy軸 y軸: [ { type : 'value', // 軸タイプ、`'value'` 数値軸、連続データに適しています axisTick: { 表示:偽 }, 名前: '(人)' } ] 5) ツールチッププロンプトボックスコンポーネント ツールチップ: { トリガー: 'axis'、//トリガー タイプ、'axis' 軸トリガー、主に棒グラフ、折れ線グラフ、カテゴリ軸を使用するその他のグラフで使用されます。フォーマッタ: "{a} <br/>{b} : {c} ({d}%)"、//テンプレート変数には、それぞれシリーズ名、データ名、データ値などを表す `{a}`、`{b}`、`{c}`、`{d}`、`{e}` が含まれます。} 6) シリーズリスト、各シリーズはタイプを通じて独自のチャートタイプを決定します A. シリーズライン シリーズ: [ { 名前:「電子メールマーケティング」、 タイプ:'line'、 スタック: '合計金額'、 data:[120, 132, 101, 134, 90, 230, 210], //シリーズ内のデータコンテンツ配列 areaStyle:{ //エリア塗りつぶしスタイル color:'red' }, lineStyle:{//線のスタイルの色:'#000' }, 強調:{//グラフィックハイライトスタイルラベル:{ 色: '赤' } } } ] B. シリーズパイ シリーズ: [ { 名前: 'アクセスソース'、 タイプ: 'パイ'、 radius: ['50%', '70%'], //円グラフの半径。配列の最初の項目は内側の半径、2 番目の項目は外側の半径です。center: ['50%', '50%'], //円グラフの中心 (センター) 座標。配列の最初の項目は水平座標、2 番目の項目は垂直座標です。パーセンテージで設定できます。パーセンテージで設定する場合、最初の項目はコンテナの幅に相対し、2 番目の項目はコンテナの高さに相対します。roseType: false, //ナイチンゲール チャートとして表示するかどうか、半径でデータ サイズを区別します。data: [ //シリーズ内のデータ コンテンツ配列 {value: 335, name: 'Direct access'}, {値: 310、名前: 'メールマーケティング'}, {値: 234、名前: 'Alliance Advertising'}, {値: 135、名前: 'ビデオ広告'}, {値: 1548、名前: '検索エンジン'} ]、 animationEasing: 'cubicInOut', //初期アニメーションのイージング効果 animationDuration: 2600, //初期アニメーションの継続時間 label: { 強調: mylabel//強調表示されたセクターとラベルのスタイル} } ] 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: nginx アンチホットリンクおよびアンチクローラー設定の詳細な説明
この記事の例では、すべてのチェックボックスの選択を実現するためのJavaScriptの具体的なコード...
序文mysql モジュール (プロジェクト アドレスは https://github.com/mys...
重要なのは、ローカルサーバーに書き込み権限がないことですキーはここにあります(アクセス拒否)。私は肯...
•CSSには多くのセレクターがあります。複数のセレクターを同じ要素に適用するとどうなるでしょうか? ...
プログラムは上から下へ順番に実行され、いくつかの制御文によって実行経路を変更することができます。制御...
1. まずmysqlサービスを停止します管理者としてCMDを開いて閉じるか、Windowsサービスペ...
では、早速スクリーンショットを実行してみましょう。黒い駒はプレイヤーの位置、赤い駒はコンピュータの位...
HTML5 では、入力用のネイティブ プレースホルダー属性が追加されており、これは高度なブラウザでサ...
Dockerfile の紹介Docker は、Dockerfile の内容を読み取ってイメージを自動...
mysql クエリ制御ステートメントフィールド重複排除 **キーワード: 明確** 構文: テーブル...
同じコマンドを複数回実行するさまざまな種類のループについて学習しましょう。 awk スクリプトには、...
<テンプレート> <div class="アプリコンテナ"&...
VueとネイティブJavaScriptカプセル化に基づいて、プルダウンリフレッシュとプルアップロード...
目次MySQL マスター スレーブ レプリケーション環境を設定する場合、マスター データベースとスレ...
まず第一に、私はウェブデザイナーです。具体的には、私は XHTML フロントエンド デザイナーです。...