我有一个散点图,其中用户选择了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])] ]'
}
]
}
答案 0 :(得分:0)
我找不到答案,所以我决定只返回起点和终点坐标,然后将其应用于我的域。视图的高度和宽度是已知的,因此我可以在回调中对字符串域执行以下操作:
xValue = (domain.length / this.view.width()) * xCoodinate
output = isStartCoordinate ? domain[Math.ceil(xValue)] : domain[Math.floor(xValue)]