1. 数组形式
这是最基本、最直接的数据格式。你直接提供一个数组,其中每个元素代表一个数据点。数组形式适用于简单的折线图、柱状图等。
示例
折线图:
option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [{
data: [820, 932, 901, 934, 1290, 1330, 1320],
type: 'line'
}]
};
2. 对象形式
这种方式更适用于数据点之间有更多属性需要表达的情况。每个数据点用一个对象表示,常用于散点图、气泡图等。
示例
散点图:
option = {
xAxis: {},
yAxis: {},
series: [{
type: 'scatter',
data: [
{ x: 10, y: 8 },
{ x: 20, y: 15 },
{ x: 30, y: 22 }
]
}]
};
3. 多维数组形式
适用于具有多维数据的场景,例如热力图、矩阵等。每个数据点可以是一个包含多个维度的数组。
示例
热力图:
option = {
xAxis: {
type: 'category',
data: ['A', 'B', 'C', 'D', 'E']
},
yAxis: {
type: 'category',
data: ['a', 'b', 'c', 'd', 'e']
},
series: [{
type: 'heatmap',
data: [
[0, 0, 5],
[0, 1, 1],
[0, 2, 0],
[0, 3, 0],
[0, 4, 0],
[1, 0, 0],
[1, 1, 0],
[1, 2, 0],
[1, 3, 0],
[1, 4, 0],
[2, 0, 0],
[2, 1, 0],
[2, 2, 0],
[2, 3, 0],
[2, 4, 0],
[3, 0, 0],
[3, 1, 0],
[3, 2, 0],
[3, 3, 0],
[3, 4, 0],
[4, 0, 0],
[4, 1, 0],
[4, 2, 0],
[4, 3, 0],
[4, 4, 0]
]
}]
};
4. 使用 dataset
dataset
是一种更高级的、以表格形式组织数据的方法。它支持更灵活的数据源分离,便于数据重用和数据映射控制。
option = {
dataset: {
source: [
['Product', '2015', '2016', '2017'],
['Matcha Latte', 43.3, 85.8, 93.7],
['Milk Tea', 83.1, 73.4, 55.1],
['Cheese Cocoa', 86.4, 65.2, 82.5],
['Walnut Brownie', 72.4, 53.9, 39.1]
]
},
xAxis: { type: 'category' },
yAxis: {},
series: [
{ type: 'bar' },
{ type: 'bar' },
{ type: 'bar' }
]
};
5. GeoJSON 数据
在绘制地图或地理相关的数据时,可以使用 GeoJSON 格式的数据。
示例
地图:
option = {
geo: {
map: 'world'
},
series: [{
type: 'scatter',
coordinateSystem: 'geo',
data: [
{ name: 'USA', value: [-99.1332, 19.4326, 100] },
{ name: 'Canada', value: [-75.6972, 45.4215, 200] }
]
}]
};
ECharts 提供了多种方式将数据映射到 X 和 Y 轴,每种方式都有其适用的场景和优势:
- 数组形式:适用于简单的折线图、柱状图等。
- 对象形式:适用于散点图、气泡图等,能够表达更多数据点属性。
- 多维数组形式:适用于热力图、矩阵等。
- 使用
dataset
:适用于需要分离数据源和多图表共享数据的场景。 - GeoJSON 数据:适用于绘制地图和地理数据。