给定一个x坐标,如何在d3.js中找到y坐标

时间:2017-02-28 11:02:33

标签: d3.js react-native

我使用d3和React native中的Art创建了一个线图。

我想要一个小圆圈,它位于屏幕中央的线条上,当用户水平向后和向前滑动时,上下一行。

该行:

scaleX = d3.scale.scaleTime()
    .domain([start, end])
    .range([0, width]);

scaleY = d3.scale.scaleLinear()
      .domain([minY, maxY]).nice()
      .range([height, 0]);

lineShape = d3.shape.line()
      .x((d) => scaleX(d.date))
      .y((d) => scaleY(d.value))
      .curve(d3.shape.curveCardinal.tension(0.5));

图表:

<ScrollView horizontal={true} onScroll={this.scrollMoved}>
  <Surface width={800} height={200}>
    <Group x={0} y={0}>
      <Shape d={lineShape(data)} stroke="#333"/>
    </Group>
  </Surface>
</ScrollView>

我目前的思路是将线的X和Y坐标置于屏幕中心,然后在滚动时更新圆Y位置。 使用ScrollView我可以得到当前的X位置,但我看不出如何使用d3我可以根据这个获得Y位置。

可能有更好的方法来做到这一点,所以任何其他方法都是受欢迎的建议。

0 个答案:

没有答案