我有一个echarts时间序列图,其中包含可拖动的图形矩形组件。我想从组件重叠的图中的点(通过系列数据提供)中找到数据。
即,它应该类似于'brushSelected'事件中画笔组件提供的dataIndex数组。
我有如下系列数据和图形:
series: {
type: 'bar'
},
dataset: {
dimensions: ["time", "count"],
source: [
{ time:1555273567313 ,count: 120 },
{ time:1555273568313 ,count: 200 },
{ time:1555273569313 ,count: 150 },
{ time:1555273570313 ,count: 80 },
{ time:1555273571313 ,count: 70 },
{ time:1555273572313 ,count: 110 }
]
},
graphic: [
{
type: 'rect',
invisible: false,
x:0,
y:0,
z: 200,
draggable: true,
shape: {
width: 200,
height: 200
},
style: {
fill: 'rgba(0,0,0,0.3)'
}
}
]
在图形矩形的dragend事件中,我已经使用坐标系统从网格的点获取了任意数据。 例如
// dragged position : [38, 61]
let coordinateSystem = chart.getModel().getSeries()[0].coordinateSystem;
coordinateSystem.pointToData([38, 61]);
这将返回一个类似
的数组[1555273566928.1914, 162.65055464370386]
这些值似乎是基于我提供的位置的网格坐标数据。
我想提供一个类似
的范围[[38,0],[574,200]]
,我期望结果与提供的数据集的dataIndexes或实际数据相同。例如,
[0,1,2,3,4]
//indexes corresponding to the first 5 entires in dataset.source