图表:如何从坐标范围中获取数据索引?

时间:2019-04-14 22:31:47

标签: javascript echarts

我有一个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

0 个答案:

没有答案