Панель мод исчезает при добавлении событий Plotly вручную (например, onLegendClick) - plotly.js / реакции-plotly. js - PullRequest
0 голосов
/ 17 марта 2020

Я столкнулся с проблемой, когда панель мод полностью исчезает, когда я добавил событие Plotly для взаимодействия с диаграммой и вручную удалил трассировку при переключении легенды.

Есть ли еще одно событие, которое необходимо вызвать до / после запуска Plot.deleteTrace? Я также пробовал Plotly.restyle и Plotly.react с теми же результатами.

import React, { useRef } from 'react';
import Plot from 'react-plotly.js';
import Plotly from 'plotly.js';

const DataChart = (props) => {
  const { data, layout, scrollZoom } = props;

  const dataChartNode = useRef();

  const handleOnLegendClick = (eventdata) => {

    {/* Custom code when interacting with the legend labels */}

    Plotly.deleteTraces(dataChartNode.current.el, eventdata.curveNumber);
    // Plotly.react(dataChartNode.current.el, {visible: false}, [eventdata.curveNumber]);
    // Plotly.restyle(dataChartNode.current.el, {visible: false}, [eventdata.curveNumber]);
  }

  return (
    <Plot
      ref={dataChartNode}
      data={data}
      layout={{
        ...layout,
        dragmode: 'pan'
      }}
      config={{
        displaylogo: false,
        modeBarButtonsToRemove: [
          'select2d', 'lasso2d', 'autoScale2d', // 2D options
          'toggleSpikelines'
        ],
        responsive: true,
        // scrollZoom,
        showTips: false
      }}
      onLegendClick={handleOnLegendClick}
    />
  )
}

export default DataChart;

Демо: https://codesandbox.io/s/relaxed-easley-97jrn

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...