データのビジュアルマップ
データの可視化とは、データを視覚的要素にマッピングする手順です。この手順はビジュアルコーディングとも呼ばれ、視覚的要素はビジュアルチャネルとも呼ばれます。
Apache EChartsTM のすべてのタイプのチャートには、このマッピング手順が組み込まれています。たとえば、折れ線グラフはデータを *線* にマッピングし、棒グラフはデータを *高さ* にマッピングします。 graph、themeRiver、treemap など、より複雑なチャートには、独自の組み込みマッピングがあります。
さらに、EChartsは、一般的なビジュアルマッピングのために visualMap コンポーネント を提供しています。 visualMap コンポーネントで許可されている視覚要素は次のとおりです。
- symbol、- symbolSize
- color、- opacity、- colorAlpha、
- colorLightness、- colorSaturation、- colorHue
次に、visualMap コンポーネントの使用方法を紹介します。
データと次元
データは通常、EChartsの series.data に格納されます。リスト、ツリー、グラフなど、チャートの種類によっては、データの形式が多少異なる場合があります。ただし、それらには共通の機能があります。それは、データ項目のコレクションであるということです。すべてのデータ項目には、データ値と、必要に応じてその他の情報が含まれています。各データ値は、単一の値(1次元)または配列(複数次元)にすることができます。
たとえば、series.data は最も一般的な形式であり、一般的な配列である `リスト` です。
series: {
  data: [
    {
      // every item here is a dataItem
      value: 2323, // this is data value
      itemStyle: {}
    },
    1212, // it can also be a value of dataItem, which is a more common case
    2323, // every data value here is one dimension
    4343,
    3434
  ];
}series: {
  data: [
    {
      // every item here is a dataItem
      value: [3434, 129, 'San Marino'], // this is data value
      itemStyle: {}
    },
    [1212, 5454, 'Vatican'], // it can also be a value of dataItem, which is a more common case
    [2323, 3223, 'Nauru'], // every data value here is three dimension
    [4343, 23, 'Tuvalu'] // If is scatter chart, usually map the first dimension to x axis,
    // the second dimension to y axis,
    // and the third dimension to symbolSize
  ];
}通常、最初の1次元または2次元がマッピングに使用されます。たとえば、最初の次元をx軸に、2番目の次元をy軸にマッピングします。より多くの次元を表す場合は、visualMap が必要です。ほとんどの場合、散布図 は半径を使用して3次元を表します。
visualMapコンポーネント
visualMapコンポーネントは、*データのどの次元* から *どの視覚要素* にマッピングするかを定義します。
visualMap.type で識別される、次の2種類のvisualMapコンポーネントがサポートされています。
その構造は次のように定義されます。
option = {
  visualMap: [
    // can define multiple visualMap components at the same time
    {
      // the first visualMap component
      type: 'continuous' // defined as continuous visualMap
      // ...
    },
    {
      // the second visualMap component
      type: 'piecewise' // defined as discrete visualMap
      // ...
    }
  ]
  // ...
};連続および区分的ビジュアルマッピングコンポーネント
EChartsのビジュアルマッピングコンポーネントは、連続(visualMapContinuous)と区分的(visualMapPiecewise)に分けられます。
連続とは、ビジュアルマッピングのデータ次元が連続値であることを意味し、区分的とは、データが複数のセグメントに分割されているか、離散データであることを意味します。
連続ビジュアルマッピング
連続タイプのビジュアルマッピングでは、最大値と最小値を指定することで、ビジュアルマッピングの範囲を決定できます。
option = {
  visualMap: [
    {
      type: 'continuous',
      min: 0,
      max: 5000,
      dimension: 3, // the fourth dimension of series.data (i.e. value[3]) is mapped
      seriesIndex: 4, // The fourth series is mapped.
      inRange: {
        // The visual configuration in the selected range
        color: ['blue', '#121122', 'red'], // A list of colors that defines the graph color mapping
        // the minimum value of the data is mapped to 'blue', and
        // the maximum value is mapped to 'red', // the maximum value is mapped to 'red', // the maximum value is mapped to 'red'.
        // The rest is automatically calculated linearly.
        symbolSize: [30, 100] // Defines the mapping range for the graphic size.
        // The minimum value of the data is mapped to 30, // and the maximum value is mapped to 100.
        // The maximum value is mapped to 100.
        // The rest is calculated linearly automatically.
      },
      outOfRange: {
        // Check the out of range visual configuration
        symbolSize: [30, 100]
      }
    }
    // ...
  ]
};ここで、visualMap.inRange は、データマッピング範囲内のデータに使用されるスタイルを示し、visualMap.outOfRange は、マッピング範囲外のデータのスタイルを指定します。
visualMap.dimension は、データのどの次元が視覚的にマッピングされるかを指定します。
区分的ビジュアルマッピング
区分的ビジュアルマッピングコンポーネントには、3つのモードがあります。
- 連続データ平均分割:visualMap-piecewise.splitNumber に基づいて、データを均等に分割します。
- 連続データカスタム分割:visualMap-piecewise.pieces に基づいて、各ピースの範囲を定義します。
- 離散データ(カテゴリデータ):カテゴリは visualMap-piecewise.categories で定義されます。
セグメント化されたビジュアルマップを使用するには、`type` を `'piecewise'` に設定し、上記の3つの設定項目のいずれかを選択する必要があります。