Echart Bar の 2 列チャート スタイルの最も完全な詳細な説明

Echart Bar の 2 列チャート スタイルの最も完全な詳細な説明

序文

最近のプロジェクトでは、視覚的なチャートが必要になり、最初に思い浮かんだのは Echarts と Hightcharts でした。

使用する視覚化チャートは比較的一般的なものです。Echarts のドキュメントと例は比較的包括的であり、中国語で書かれているので読みやすいため、Echarts を選択しました。

独自のチャートスタイルに Echarts を使用する場合は問題ありませんが、UI が明らかに満足できるものではないため、一連のスタイル調整が行われました...

インストールと設定

フロントエンドフレームワークはeasywebpack-vueで、使用されているEchartsのバージョンは^5.0.1です。

Echarts 公式ドキュメント: echarts.apache.org/zh/index.html

1. Echartsをインストールする

npm インストール echarts --save

2. Echartsを世界規模で導入

main.js に次のコードを追加します。

* を echarts として "echarts" からインポートします。
Vue.prototype.$echarts = echarts;

3. オンデマンドでEchartsを導入する

(1)echarts.jsファイルを追加する

// echarts に必要なインターフェースを提供する echarts コア モジュールをインポートします。 import * as echarts from "echarts/core";

// さまざまなチャートをインポートします。すべて接尾辞が「Chart」です。
「echarts/charts」から { BarChart、LineChart、PieChart } をインポートします。

//プロンプトボックス、タイトル、直交座標系などのコンポーネントを導入します。コンポーネントのサフィックスはComponentです。
輸入 {
  タイトルコンポーネント、
  ツールチップコンポーネント、
  ツールボックスコンポーネント、
  グリッドコンポーネント、
  凡例コンポーネント、
  軸ポインタコンポーネント、
  データセットコンポーネント、
} から "echarts/components";

// Canvas レンダラーをインポートします。CanvasRenderer または SVGRenderer のインポートは必須の手順であることに注意してください。import { SVGRenderer } from "echarts/renderers";

// 必要なコンポーネントを登録しますecharts.use([
  棒グラフ、
  折れ線グラフ、
  円グラフ、

  タイトルコンポーネント、
  ツールチップコンポーネント、
  ツールボックスコンポーネント、
  グリッドコンポーネント、
  凡例コンポーネント、
  軸ポインタコンポーネント、
  データセットコンポーネント、

  SVGレンダラー、
]);

デフォルトの echart をエクスポートします。

(2)main.jsファイルにインポートする

「./utils/echarts」からechartsをインポートします。
Vue.prototype.$echarts = echarts;

使用例

<テンプレート>
  <div id="チャート" style="幅: 600px; 高さ: 400px"></div>
</テンプレート>

<スクリプト>
  "ramda" から R として * をインポートします。

  エクスポートデフォルト{
    マウント() {
      チャートを初期化します。
    },
    メソッド: {
      initCharts() {
        charts = this.$echarts.init(document.getElementById("charts")) とします。
        オプション = {
          タイトル:
            text: "月間消費動向", // タイトル subtext: "ヒストグラム", // サブタイトル},
          x軸:
            タイプ:「カテゴリー」、
          },
          y軸: {
            タイプ: "値",
          },
          color: ["#1890ff", "#52c41a", " #faad14"], // 棒グラフの色データセット: {
            ソース: [
              // データソース ["1月", 1330, 666, 560],
              [「2月」、820、760、660]、
              [「3月」、1290年、1230年、780年]、
              [「4月」、832、450、890]、
              [「5月」、901、880、360]、
              [「6月」、934、600、700]、
            ]、
          },
          シリーズ: [
            // アイコン列の設定 { type: "bar", stack: "total", name: "apple" },
            { タイプ: "bar", スタック: "total", 名前: "Pear" },
            { タイプ: "bar", スタック: "total", 名前: "Peach" },
          ]、
          ツールチップ: {
          //プロンプトボックスコンポーネント}
        };
        charts.setOption(オプション);
      },
    },
  };
</スクリプト>

<style lang="scss" スコープ></style>

オリジナルエフェクト表示:

変身後のターゲットエフェクト表示:

スタイルの最適化

x軸の基本スタイル

基本的な設定は以下のとおりで、スケールや軸に関するプロパティを設定できます。

x軸:
  タイプ:「カテゴリー」、
  boundaryGap: true, // 座標軸の両側の空白戦略、デフォルトは true
  axisTick: { // スケール show: false,
  },
  axisLabel: { // スケールラベルの色: "#808080",
    フォントサイズ: 12,
    margin: 8, // スケールラベルと軸の間の距離 interval: "auto", // x軸ラベルの表示間隔、自動},
  axisLine: { // 軸の線スタイル: {
      色: "#c3c3c3",
      幅: 0.5、
    },
  },
  splitLine: { // 分割線 show: false,
    間隔: "自動"、
  },
  splitArea: { // 分割領域 show: false,
    エリアスタイル: {},
  },
},

最大および最小の目盛りラベル

主な属性は間隔です。これは、最大および最小の目盛りラベルのみを表示するのに十分な大きさに設定する必要があります。

x軸:
  軸ラベル: {
    // 間隔: "自動"、
    interval: 50, // 最大と最小の座標のみを表示 showMinLabel: true, // 最小スケールのラベルを表示 showMaxLabel: true, // 最大スケールのラベルを表示 }
}

シリーズデータ列の一時停止のハイライト

const スタックバーシリーズ = {
  type: "bar", // 棒グラフ barWidth: 32, // 列の幅 stack: "total", // データの積み重ね showBackground: false, // 列の背景色を表示するかどうか // グラフィックスタイルとラベルスタイルを強調表示 emphasis: {
    // マウスをホバーすると、同じビジネス項目が強調表示され、他の項目はグラフィックからフェードアウトします // focus: "series",
    // デフォルト設定、現在のホバーデータのみがフェードアウトします focus: "none",
  },
};

オプション = {
  シリーズ: R.map(
    (お) =>
      R.merge(stackBarSeries, {
        名前: o,
      })、
    ["リンゴ"、"ナシ"、"桃"]
  )、
};

座標インジケータの背景グラデーションカラー

主なことは、ツールチッププロンプトボックスコンポーネントのトリガーを設定してx軸サスペンションをトリガーすることです。次に、xAxis座標インジケータaxisPointerを設定し、インジケータマスクスタイルshadowStyleでグラデーションカラーを設定できます。

オプション = {
  ツールチップ: {
    //プロンプト ボックス コンポーネント トリガー: "axis", //軸トリガー},
  x軸:
    // 軸ポインタ axisPointer: {
      タイプ:「影」、
      // 座標軸インジケータのz値はグラフィックスの順序を制御しますz: 1,
      // インジケーターマスクスタイル shadowStyle: {
        // ホバー背景色のグラデーション問題を解決する color: {
          タイプ: "線形"、
          x: 0,
          y: 0,
          x2: 0,
          y2: 1,
          カラーストップ: [
            {
              オフセット: 0,
              color: "rgba(234,244,255,1)", // 0% の色},
            {
              オフセット: 1,
              color: "rgba(234,244,255,0.3)", // 100% 色},
          ]、
          global: false, // デフォルトは false
        },
        //背景色と影を設定//color: "rgba(234,244,255,1)",
        // 不透明度: 1,
        // 影の色: "rgba(0, 0, 0, 0.5)",
        // 影ぼかし: 10,
        // シャドウオフセットX: 10,
        // 影オフセットY: 10,
      },
    },
  },
};

ツールチッププロンプトボックスのカスタムスタイル

ツールチップのデフォルトのスタイルまたは値は開発要件を満たさない可能性があります。フォーマッタ関数を使用してカスタマイズできます。

オプション = {
  ツールチップ: {
    // プロンプト ボックス コンポーネント トリガー: "axis", // 座標軸トリガー パディング: [20, 16, 12, 16],
    背景色: "#fff",
    常にコンテンツを表示: false、
    フォーマッタ: 関数(パラメータ) {
      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;">¥${item.value[
                  アイテム.エンコード.y[0]
                ] || 0 </span>
              </div>`
            )
            。参加する("")}
            <div style="display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#333;padding-top:4px;margin-bottom:8px;line-height:1;">
            <span>合計</span>
            <span>¥${R.reduceRight(
              R.add、
              0,
              R.drop(1, パラメータ[0].値 || [])
            ) </span>
          </div>
        </div>`;
      html を返します。
    },
  },
};

Y軸の基本スタイル

オプション = {
  y軸: {
    タイプ: "値",
    最小間隔: 100,
    名前ギャップ: 8,
    軸ラベル: {
      色: "#808080",
      フォントサイズ: 10,
      // フォーマッタ: (値) => {
      // moneyFormatValue(値)を返します。
      // },
    },
    分割行: {
      線のスタイル:
        タイプ:「破線」、
        色: "#ebebeb",
        幅: 0.5、
      },
    },
  },
};

凡例 凡例スタイルのカスタマイズ

オプション = {
  グリッド: {
    左: 0,
    右: 12、
    下: 0,
    トップ: 68,
    ラベルを含む: true、
  },
  // 凡例設定 legend: {
    トップ: 32,
    左: -5、
    アイコン:「円」、
    itemHeight: 6, // アイコンのサイズを変更する itemGap: 24,
    テキストスタイル: {
      フォントサイズ: 12,
      色: "#333",
      padding: [0, 0, 0, -8], // テキストとアイコンの間の距離を変更します},
  },
};

要約する

Echart Bar ダブルバーチャートスタイルに関するこの記事はこれで終わりです。Echart Bar ダブルバーチャートスタイルの関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • jQueryプラグインEchartsで実装されたグラデーションカラーの棒グラフ
  • jQuery プラグイン echarts で実装された複数列の棒グラフ効果の例 [デモ ソース コードのダウンロード付き]
  • echartsが進捗バーに似た棒グラフに2つの値を表示する問題を解決します
  • 並列実装コードの代わりにecharts棒グラフの背景の重なり合う組み合わせ
  • Echarts 基本入門: 棒グラフと折れ線グラフの一般的な構成

<<:  VMware15 仮想マシン ブリッジ モードでインターネットにアクセスできない問題の解決方法

>>:  Centos7 環境でバイナリ インストール パッケージから mysql5.6 をインストールする方法の詳細な説明

推薦する

CSS3 フィルターの違いと応用の詳しい説明:ドロップシャドウフィルターとボックスシャドウ

標準 CSS3 を使用して要素の影の効果を実現するには、2 つの手順があります。1 つ目は一般的なb...

Linux manコマンドの具体的な使い方

01. コマンドの概要Linux には充実したヘルプ マニュアルが用意されています。コマンドのパラメ...

Nginx のパフォーマンスを向上させるための提案

Web アプリケーションが 1 台のマシンでのみ実行される場合、パフォーマンスを向上させるのは非常に...

デザイン理論:人の心を理解する方法

<br />かつて、仏印と東坡氏が仏教について雑談していたとき、東坡氏が突然こう言った。...

MySQL インデックスに関するヒントのまとめ

目次1. インデックスの基礎知識1.1 インデックスの利点1.2 インデックスの有用性1.3 インデ...

Docker を使用してコンテナ内のルート パスワードを変更する方法

1. dockerfileを作成するときにsshパスワードを設定するには、次のコマンドを使用します。...

springcloud alibaba nacos linux 設定の詳細なチュートリアル

まず、github から nacos の圧縮パッケージをダウンロードします: https://git...

Vue3を使用してjsで呼び出せるコンポーネントを実装する

目次序文1. 従来のVueコンポーネント1. メインコンポーネントコード: 2. 使用方法3. 成果...

MySQL 正規表現 (regexp と rlike) の検索機能の例分析

この記事では、例を使用して MySQL 正規表現 (regexp および rlike) の検索機能を...

JavaScript は自由に移動するウィンドウのマウス制御を実装します

この記事では、フリーウィンドウのマウス制御を実現するためのJavaScriptの具体的なコードを参考...

MySQLクエリステートメントの簡単な操作例

この記事では、例を使用して、MySQL クエリ ステートメントの簡単な操作を説明します。ご参考までに...

Ubuntu 19 以下に Android Studio をインストールするチュートリアル

過去の経験から言うと、タスクを完了した後にメモを取るのは良い習慣です。インストール環境はUbuntu...

LinuxのバックグラウンドでPythonプログラムを実行するいくつかの方法

1. 最初の方法は、unhup コマンドを直接使用してプログラムをバックグラウンドで実行することです...

Ubuntu 20.04 と NVIDIA ドライバーのインストールに関するチュートリアル

Ubuntu 20.04をインストールする NVIDIAドライバーをインストールする Pytouch...

一般的な XHTML タグの使用方法の紹介

XHTML には多くのタグがありますが、頻繁に使用されるのはごくわずかであり、習得する必要があるのは...