我正在使用图表来构建具有以下数据的图形:
id: "mock-device"
props:
battery: 2,
cpuUsage: 11,
diskUsage: 23,
memoryUsage: 8,
timestamp: 1548031944
我正在建立图形
<AreaChart data={DataGraphs} margin={{ top: 0, right: 0, bottom: 0, left: -30 }}>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="timestamp" tickFormatter={e => (new Date(e * 100).toLocaleTimeString())} />
<YAxis />
<Tooltip />
<Legend />
<Area dataKey={battery} stroke="#f3a000" fill="#ffc658" />
<Area dataKey={cpu} stroke="#e4002b" fill="#ff0131a3" />
<Area dataKey={memory} stroke="#0ea800" fill="#0ea8008c" />
<Area dataKey={diskUsage} stroke="#009cff" fill="#5abefd" />
</AreaChart>
显示工具提示时会出现问题,因为我们可以看到标题与刻度格式不匹配
那么,如何使两者匹配,因为它们基本上是相同的信息?
答案 0 :(得分:0)
您可以创建一个自定义工具提示,以替换一个默认的工具提示。 这是如何设置自定义工具提示的示例。
<AreaChart width={width} height={height} data={this.data}>
<Tooltip content={<CustomTooltip />} />
// Rest of graph configuration here
</AreaChart>);
这是自定义工具提示示例。
import React, { Component } from 'react';
class CustomTooltip extends Component {
constructor(props) {
super(props);
}
render() {
var { active } = this.props;
if (active) {
const { payload, label } = this.props;
return (
<div>
<div>{payload[0].value + ' ft'}</div>
<div>{label + ' mi'} </div>
</div>
);
}
return null;
}
}
export default CustomTooltip;
有效负载包含各种值。对您而言,这将是电池,cpu等的值。Label是时间戳,您可以使用与刻度轴标签相同的方法将其转换为更易读的文本。