ReactJs多图问题

时间:2019-07-03 05:15:45

标签: reactjs plotly

我正在尝试使用plotly生成多个图并反应js。第一次加载时一切都很好,我在每个图上的所有点都位于正确的位置。但是,当我更新或单击任何一个绘图时,正是更新其他绘图的范围,这导致所有绘图的点位置发生了变化。

我尝试为每个图添加唯一的divId,但这没有用。

我正在使用以下功能来动态生成图。

getScatterPlot(scatterPlotData){
        const {splittedScatterPlotLayouts} = this.state;
        let columns = [];
        for(let p in scatterPlotData){
            let data = scatterPlotData[p];
            let plotData = {my data object};
            columns.push(
                <div key={p} className={"col-6"} style={{width: "50%", height:"25%"}}>                 
                    {this.getScatterPlot(Object.assign([],plotData), p)}
                </div>
            )
        }
        return(
            <div key={""} id={"splitted-plot-row"} tabIndex={0} className={"row"}>{columns}</div>
        )
    }

getScatterPlot(scatterPlotData, divId){
        const {splittedScatterPlotLayouts} = this.state;
        return (
            <Plotly
                divId={divId}
                data={scatterPlotData}
                layout={splittedScatterPlotLayouts.layout}
                frames={splittedScatterPlotLayouts.frames}
                config={splittedScatterPlotLayouts.config}
                useResizeHandler={true}
                style={{height:'100%', width:'100%'}}
                onSelected={(selectedPoints) => {
                    this.onPointsSelection(selectedPoints)
                }}
                onDeselect={() => {
                    this.onPointsDeselection();
                }}
            />
        )
    }

我尝试从每个图的splittedScatterPlotLayouts.layout克隆布局,但是没有用。

我希望更新重点关注的情节。有经验的人可以帮我调试吗?

0 个答案:

没有答案