D3 画笔:从轴访问绝对值

D3 brushes: accessing absolute values from axis

我很难找到一种方法来从 syntagmatic 的 parcoords 代码中的拉丝轴获取绝对值,而不是弹奏的局部位置和大小。

到目前为止,我找到了获得后者的方法(即 y 位置(d.y.animVal.value,弹奏的上部位置)和高度(d.height.animVal.value,弹奏的长度),但是不是映射数据中的相应值。

目前,我的方法依赖于以下函数,放置在示例 html 文件之一中:

function getBrushData() {
  var myElementd3 = d3.selectAll("rect.extent"); //gets any strum
  myElementd3[0].forEach(function(d,i) { 
    if ( d.height.animVal.value !== 0 ) {  //adds the strum data to array if brush exists
      cursor=cursor+1;
      myArray[cursor] = "" + d.__data__ + ", " + d.y.animVal.value + ", " + d.height.animVal.value;
    }
  });
  return myArray, cursor;
}

我想我可以根据轴的绝对 min/max 值以某种方式转换 y 和高度值,但即使是那些,我也找不到自动访问的方法。

所以我的问题是:是否有任何简单的方法可以自动从弹奏的四肢而不是局部获取绝对值?感谢您的帮助!

要从笔刷范围中获取相应的笔刷范围 max/min 值,可以使用不传递参数的 brushExtents() 函数。

parcoords.brushExtents() 这将 return 一个包含所有刷过的轴及其关联的 max/min 值的数组。