plotly / react-plotly.js

A plotly.js React component from Plotly 📈
MIT License
1.01k stars 135 forks source link

How do I use Plotly.Fx.hover with react-plotly.js? #339

Open NathanPB opened 6 months ago

NathanPB commented 6 months ago

I am building something like this: https://plotly.com/javascript/hover-events/#coupled-hover-events, but I can't find a way to reproduce this behavior with react-plotly.js

Fx is not present in plotly.js anymore (isn't it?), and I can't find a way to find a Plotly's Plot instance (not the wrapper's instance) in order to try different methods.

Does anyone know how I could achieve a similar effect?

What I have so far looks something like:

import {FC, useEffect, useMemo, useRef} from "react";
import {BoxPlotData, Layout} from 'plotly.js'
import Plot from 'react-plotly.js';

export const MyPlot: FC = () => {
  const boxplotRef = useRef<Plot>(null)

  useEffect(() => {
    if (boxplotRef.current) {
      // What now?
      // I would like to do something like
      // boxplotRef.current.plot.hover([ { pointNumber: 1 }, { pointNumber: 2 }, { pointNumber: 3 } ])
    }
  }, []);

  const myLayout = useMemo((): Layout => { ... }, [])
  const myData = useMemo((): Partial<BoxPlotData> => { ... }, [])

  return (
    <Plot
      ref={boxplotRef}
      data={myData}
      layout={myLayout}
    />
  )
}