Vega图表:需要获取字符串数据的比例反转值

时间:2019-02-27 17:44:55

标签: vega

我有一个散点图,其中用户选择了x和y轴字段,在我们的代码中对数据进行了处理和装箱,并将箱,域等馈送到了vega以进行可视化。但是我的选择画笔仅适用于数字数据,并且域可以是数字,字符串或日期时间。

有什么办法可以使它适用于字符串数据? 我的代码是通过信号侦听器上的回调触发的,该侦听器侦听如下所示的信号: (对不起,我无法提供更多规格!)

{
  'name': 'sigName',
  'value': [], // 3 x 2 array of arrays [end coords, start data coords, end data coords]
  'on': [
    {
      'events':
      {
        'signal': 'endSig' // provides coords ( xy() ) for the mouseup event after dragging to create brush
      },
      'update': '[ slice(endSig), [invert("xScale", startSig[0]), invert("yScale", startSig[1])], [invert("xScale", endSig[0]), invert("yScale", endSig[1])] ]'
    }
  ]
}

1 个答案:

答案 0 :(得分:0)

我找不到答案,所以我决定只返回起点和终点坐标,然后将其应用于我的域。视图的高度和宽度是已知的,因此我可以在回调中对字符串域执行以下操作:

xValue = (domain.length / this.view.width()) * xCoodinate
output = isStartCoordinate ? domain[Math.ceil(xValue)] : domain[Math.floor(xValue)]