Можно добавить вертикальную линию с компонентом <Crosshair />
.Вы можете использовать этот пример в документации здесь .Вам нужно установить обработчики onMouseLeave
и onNearestX
, чтобы обновить значение строки Crosshairs
.Хитрость в том, что вы должны поместить divs
внутри компонента Crosshair
, чтобы он не отображал поле значения.Я использую React Hooks для ответа на ваш вопрос, но вы могли бы использовать состояние с классом ( React Hooks State Docs ).
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>;
}