图表分散工具提示显示其他道具

时间:2020-03-09 12:23:43

标签: recharts

我正在使用图表中的散点图

数据显示良好,但我想在工具提示中显示其他弹出窗口(项目名称),就像在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>

2 个答案:

答案 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;
};