首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在鼠标指针悬停的react-vis图表中添加垂直线

在鼠标指针悬停的react-vis图表中添加垂直线
EN

Stack Overflow用户
提问于 2019-03-08 23:10:00
回答 1查看 1.3K关注 0票数 4

我在评估react-vis。假设我有一个react-vis simple chart,当图表悬停时,如何添加一条随鼠标移动的垂直线?我的猜测是,我需要在XYPlot中添加一个十字准线组件,也许还需要一个YAxis组件。但我不明白是怎么做的,我也找不到任何相关的例子。

代码语言:javascript
复制
function Chart({data}) {
  return <XYPlot width={400} height={300}><XAxis/><YAxis/>
    <HorizontalGridLines />
    <VerticalGridLines />
    <LineMarkSeries data={data} />
    </XYPlot>;
}
EN

回答 1

Stack Overflow用户

发布于 2019-06-27 01:16:02

可以使用<Crosshair />组件添加垂直线。您可以在位于here的文档中使用此示例。您需要设置onMouseLeaveonNearestX处理程序来更新Crosshairs行的值。诀窍是您必须将divs放在Crosshair组件中,这样它就不会呈现值框。我正在使用React Hooks来回答您的问题,但是您也可以使用带类的状态(React Hooks State Docs)。

代码语言:javascript
复制
import React, { useState } from 'react';

function Chart({data}) {
  const [points, setPoints] = useState([]);

  return <XYPlot
    width={400}
    height={300}
    onMouseLeave={() => setPoints([])}
    >
    <XAxis/>
    <YAxis/>
    <HorizontalGridLines />
    <VerticalGridLines />
    <LineMarkSeries
      data={data}
      onNearestX={v => setPoint([v])}
    />
    <Crosshair values={point}>
      {/* Divs inside Crosshair Component required to prevent value box render */}
      <div></div>
    </Crosshair>
  </XYPlot>;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55066016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档