我正在使用图表中的散点图
数据显示良好,但我想在工具提示中显示其他弹出窗口(项目名称),就像在Barchart上一样。我发现我可以完全自定义工具提示,但是我想知道是否有更简单的方法?就像我不知道如何使用的道具。 the doc对于如何使用某些道具不是很明确
这是代码。您可以看到我尝试了数据键和标签,但是没有成功
<ScatterChart
width={400}
height={400}
margin={{
top: 20, right: 20, bottom: 20, left: 20,
}}
>
<CartesianGrid />
<XAxis type="number" dataKey="sizeMB" name="Size" unit=" MB" />
<YAxis type="number" dataKey="directReferenceCount" name="# of References" unit=" References" />
<Tooltip cursor={{ strokeDasharray: '3 3' }} dataKey={'fullName'} label={'fullName'} />
<Scatter name="Line Item" data={this.props.data} fill="#8884d8">
</Scatter>
</ScatterChart>
答案 0 :(得分:1)
除了使用完整的自定义工具提示外,我没有找到其他解决方案。这是代码:
const CustomTooltip = ({ active, payload, label }) => {
if (active) {
return (
<div className="custom-tooltip">
<p className="intro">{payload[0].payload.fullName}</p>
<p className="desc">size: {payload[0].payload.sizeMB}</p>
</div>
);
}
return null;
};
在查找与原始工具提示相同的CSS时遇到了一些麻烦,但这是:
.custom-tooltip{
margin: 0;
line-height: 24px;
border: 1px solid #f5f5f5;
background-color: rgba(255, 255, 255, 0.8);
padding: 10px;
}
.intro {
border-top: 1px solid #f5f5f5;
margin: 0;
}
.desc {
margin: 0;
color: rgb(3, 62, 146)
}
答案 1 :(得分:0)
我会稍微修改自定义工具提示以包括对有效负载的检查
const CustomTooltip = ({ active, payload, label }) => {
if (active && payload) {
return (
<div className="custom-tooltip">
<p className="intro">{payload[0].payload.fullName}</p>
<p className="desc">size: {payload[0].payload.sizeMB}</p>
</div>
);
}
return null;
};