调整图表大小时,重新绘制散点图会在工具提示中显示最小的x值

5uzkadbs  于 2022-10-02  发布在  Java
关注(0)|答案(1)|浏览(135)

我正在用折线图散点图来画一张气泡图。根据要求,图表的大小应可调整为高度或宽度的两倍。在调整大小之前,一切都很好。但一旦调整了图表的大小,工具提示会显示一个附加项(这是所有数据系列中x轴数据集中的最低值)。一旦发生这种情况,即使在将图表更改回原始大小后,此错误的工具提示仍然存在。

调整大小前正确的工具提示

调整大小后工具提示不正确,此处45是类型A和类型B中的最低x值

以下是我的代码:

const BubbleChart = ({ data, width, height }) => {
  const drawCharts = (data) => {
    const charts = [];
    for (let i = 0; i < data.length; i++) {
      charts.push(
        <Scatter
          name={data[i].name}
          data={data[i].values}
          fill={colors[i]}
        />
      );
    }
    return charts;
  };

  return (
    <ScatterChart
      width={width}
      height={height - 100}
      margin={{ top: 10, right: 40, bottom: 0, left: 0 }}
    >
      <CartesianGrid strokeDasharray="3 3" />
      <XAxis
        type="number"
        dataKey="x"
        name="height"
        unit="cm"
        range={[100, 250]}
      />
      <YAxis
        type="number"
        dataKey="y"
        name="width"
        unit="cm"
        range={[200, 300]}
      />
      <ZAxis
        type="number"
        dataKey="z"
        name="weight"
        unit="cm"
        range={[200, 1000]}
      />
      <Tooltip cursor={{ strokeDasharray: '3 3' }} />
      <Legend />
      {drawCharts(data)}
    </ScatterChart>
  );
};

如何在调整图表大小时避免此错误图例?

cyvaqqii

cyvaqqii1#

对于感兴趣的人,我找到了这段代码,我们可以通过传递一个函数来覆盖默认的工具提示。https://codepen.io/brockboren/pen/yEaYQo

所以我更改了我的代码:

<Tooltip cursor={{ strokeDasharray: '3 3' }} />

<Tooltip labelFormatter={() => { return ''; }} cursor={{ strokeDasharray: '3 3' }} />

这为我解决了问题。

相关问题