React Recharts 的自定义标签不适用于条形图。
<Bar dataKey="pv" fill="#8884d8" label={<CustomLabel/>} />
预计会在所有条形图上看到“标签”文本。
更新
例如,如果我有一个图表,其中有多条线,每条线都有一些标签,但在渲染时,一些值高于另一个。如何克服这个问题?
React Recharts 的自定义标签不适用于条形图。
<Bar dataKey="pv" fill="#8884d8" label={<CustomLabel/>} />
预计会在所有条形图上看到“标签”文本。
更新
例如,如果我有一个图表,其中有多条线,每条线都有一些标签,但在渲染时,一些值高于另一个。如何克服这个问题?
而不是返回一个 div 尝试返回一个文本 SVG 元素
const CustomizedLabel = React.createClass({
render () {
const {x, y, stroke, value} = this.props;
return <text x={x} y={y} dy={-4} fill={stroke} fontSize={10} textAnchor="middle">{value}</text>
}
});
然后添加
<Bar dataKey="pv" fill="#8884d8" label={customLabel} />
就像我在这里所做的那样,http://jsfiddle.net/CharukaK/6u08o2oa/1/
我知道这个问题有点老了,但问题仍然存在。我们不能直接将 HTML 元素用于自定义标签。只有 SVG 元素在工作。但...
SVG支持的元素叫做<foreignObject>
所以这样的事情会起作用:
const CustomLabel = React.createClass({
render() {
return (
<g>
<foreignObject x={0} y={0} width={100} height={100}>
<div>Label</div>
</foreignObject>
</g>
);
}
});