Recharts 散点图在调整图表大小时在工具提示中显示最低的 x 值
Recharts scatter chart shows the lowest x value in tooltip when chart is resized
我正在使用 Recharts 散点图绘制气泡图。根据要求,图表应可调整大小以将高度或宽度加倍。在调整大小之前一切都很好。但是一旦调整了图表的大小,工具提示就会显示一个附加项(这是所有数据系列中 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>
);
};
如何避免在调整图表大小时出现这个不正确的图例?
对于任何感兴趣的人,我发现了这个代码笔,我们可以在其中通过传递一个函数来覆盖默认的工具提示。
https://codepen.io/brockboren/pen/yEaYQo
所以我更改了我的代码:
<Tooltip cursor={{ strokeDasharray: '3 3' }} />
到
<Tooltip labelFormatter={() => { return ''; }} cursor={{ strokeDasharray: '3 3' }} />
这为我解决了问题。
我正在使用 Recharts 散点图绘制气泡图。根据要求,图表应可调整大小以将高度或宽度加倍。在调整大小之前一切都很好。但是一旦调整了图表的大小,工具提示就会显示一个附加项(这是所有数据系列中 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>
);
};
如何避免在调整图表大小时出现这个不正确的图例?
对于任何感兴趣的人,我发现了这个代码笔,我们可以在其中通过传递一个函数来覆盖默认的工具提示。 https://codepen.io/brockboren/pen/yEaYQo
所以我更改了我的代码:
<Tooltip cursor={{ strokeDasharray: '3 3' }} />
到
<Tooltip labelFormatter={() => { return ''; }} cursor={{ strokeDasharray: '3 3' }} />
这为我解决了问题。