1

recharts我正在使用库创建水平条形图。我想在左侧对齐 y 轴标签。

<BarChart width={400} height={300} data={data} layout="vertical" margin={{right: 40}}>
   <XAxis hide axisLine={false} type="number"/>
   <YAxis dataKey="name" type="category" axisLine={false} tickLine={false} />
   <Bar dataKey="pv" stackId="a" barSize={15} radius={[20,20,20,20]} fill="#8884d8" background={{fill: "#eee", radius: [20,20,20,20]}} tick={false} />
   <Bar dataKey="uv" stackId="a" barSize={15} radius={[20,20,20,20]} fill="#eee" >
     <LabelList dataKey="amt" position="right" />
   </Bar>
</BarChart>

提琴手

4

1 回答 1

2

您可以通过使用自定义 Tick 组件来完成此操作。

const CustomYAxisTick = React.createClass({
    render() {
        const { x, y, payload } = this.props;
        return (<g transform={`translate(${0},${y})`}>
            <text x={0} y={0}
                textAnchor="start"
                fill="#666">{payload.value}</text>
        </g>)
    }
})

然后你可以在你的 YAxis 中使用它:

<YAxis tick={<CustomYAxisTick />} />

我分叉了您的JSFiddle并添加了这些更改。

于 2019-06-17T08:51:51.400 回答