取值为 Array 例如:
series: { type: 'xxx', // 定义了每个维度的名称。这个名称会被显示到默认的 tooltip 中。 dimensions: ['date', 'open', 'close', 'highest', 'lowest'] data: [ // 有了上面 dimensions 定义后,下面这五个维度的名称分别为: // 'date', 'open', 'close', 'highest', 'lowest' [12, 44, 55, 66, 2], [23, 6, 16, 23, 1], ... ] }series: { type: 'xxx', dimensions: [ null, // 如果此维度不想给出定义,则使用 null 即可 {type: 'ordinal'}, // 只定义此维度的类型。 // 'ordinal' 表示离散型,一般文本使用这种类型。 // 如果类型没有被定义,会自动猜测类型。 {name: 'good', type: 'number'}, 'bad' // 等同于 {name: 'bad'} ] }
dimensions 数组中的每一项可以是:
string,如'someName',等同于 {name: 'someName'}Object,属性可以有:name: string。type: string,支持numberfloat,即Float64Arrayint,即Int32Arrayordinal,表示离散数据,一般指字符串。time,表示时间类型,时间类型的支持参见 data
值得一提的是,当定义了 dimensions 后,默认 tooltip 中对个维度的显示,会变为『竖排』,从而方便显示每个维度的名称。如果没有定义 dimensions,则默认 tooltip 会横排显示,且只显示数值没有维度名称可显示。

series[i]-bar.encode

定义 data 的哪个维度被编码成什么。比如:
series: { type: 'xxx', encode: { x: [3, 1, 5], // 表示维度 3、1、5 映射到 x 轴。 y: 2, // 表示维度 2 映射到 y 轴。 tooltip: [3, 2, 4] // 表示维度 3、2、4 会在 tooltip 中显示。 label: 3 // 表示 label 使用维度 3。 }, data: [ // 每一列称为一个『维度』。 // 这里分别是维度 0、1、2、3、4。 [12, 44, 55, 66, 2], [23, 6, 16, 23, 1], ... ] }
encode 支持的属性,根据坐标系不同而不同。 对于直角坐标系(cartesian2d),支持 x、y。 对于极坐标系(polar),支持 radius、angle。 对于地理坐标系(geo),支持 lng,lat。 此外,均支持 tooltip 和label 和itemName(用于指定 tooltip 中数据项名称)。
当使用 dimensions 给维度定义名称后,encode 中可直接引用名称,例如:
series: { type: 'xxx', dimensions: ['date', 'open', 'close', 'highest', 'lowest'], encode: { x: 'date', y: ['open', 'close', 'highest', 'lowest'] }, data: [ ... ] }

series[i]-bar.data[i]

柱状图中的数据内容数组,是一个 Object。数组项通常为具体的数据项。
通常来说,数据用一个二维数组表示。如下,每一列被称为一个『维度』。
series: [{ data: [ // 维度X 维度Y 其他维度 ... [ 3.4, 4.5, 15, 43], [ 4.2, 2.3, 20, 91], [ 10.8, 9.5, 30, 18], [ 7.2, 8.8, 18, 57] ] }]在直角坐标系 (grid) 中『维度X』和『维度Y』会默认对应于 xAxis 和yAxis。在极坐标系 (polar) 中『维度X』和『维度Y』会默认对应于 radiusAxis 和angleAxis。后面的其他维度是可选的,可以在别处被使用,例如:在visualMap 中可以将一个或多个维度映射到颜色,大小等多个图形属性上。在series.symbolSize 中可以使用回调函数,基于某个维度得到 symbolSize 值。使用 tooltip.formatter 或series.label.normal.formatter 可以把其他维度的值展示出来。
特别地,当只有一个轴为类目轴(axis.type 为'category')的时候,数据可以简化用一个一维数组表示。例如:
xAxis: { data: ['a', 'b', 'm', 'n'] }, series: [{ // 与xAxis.data 一一对应。 data: [23, 44, 55, 19] // 它其实是下面这种形式的简化: // data: [[0, 23], [1, 44], [2, 55], [3, 19]] }]
『值』与 轴类型 的关系:
当某维度对应于数值轴(axis.type 为'value' 或者 'log')的时候:
其值可以为 number(例如 12)。(也可以兼容 string 形式的 number,例如 '12')当某维度对应于类目轴(axis.type 为'category')的时候:
其值须为类目的『序数』(从0开始)或者类目的『字符串值』。例如: xAxis: { type: 'category', data: ['星期一', '星期二', '星期三', '星期四'] }, yAxis: { type: 'category', data: ['a', 'b', 'm', 'n', 'p', 'q'] }, series: [{ data: [ // xAxis yAxis [ 0, 0, 2 ], // 意思是此点位于 xAxis: '星期一', yAxis: 'a'。 [ '星期四', 2, 1 ], // 意思是此点位于 xAxis: '星期四', yAxis: 'm'。 [ 2, 'p', 2 ], // 意思是此点位于 xAxis: '星期三', yAxis: 'p'。 [ 3, 3, 5 ] ] }]双类目轴的示例可以参考 Github Punchcard 示例。当某维度对应于时间轴(type 为'time')的时候,值可以为:一个时间戳,如1484141700832,表示 UTC 时间。或者字符串形式的时间描述:ISO 8601 的子集,只包含这些形式(这几种格式,除非指明时区,否则均表示本地时间,与moment 一致):时区设定: '2012-03-01T12:22:33Z', '2012-03-01T12:22:33+8000', '2012-03-01T12:22:33-05:00'.其他的时间字符串,包括(均表示本地时间): '2012', '2012-3-1', '2012/3/1', '2012/03/01', '2009/6/12 2:00', '2009/6/12 2:05:08', '2009/6/12 2:05:08.123'或者用户自行初始化的 Date 实例:注意,用户自行初始化 Date 实例的时候,浏览器的行为有差异,不同字符串的表示也不同。例如:在chrome 中,new Date('2012-01-01') 表示 UTC 时间的 2012 年1月1日,而new Date('2012-1-1') 和new Date('2012/01/01') 表示本地时间的 2012 年1月1日。