Recharts 中如何让 X 轴的刻度文字自动换行显示?
我在用 Recharts 画一个柱状图,X 轴的分类名称太长了,直接显示会重叠在一起,看起来特别乱。我试过在 tick 里加样式设置 wordBreak 或者 whiteSpace,但好像都不起作用。有没有办法让 X 轴的文字自动换行或者倾斜显示?
下面是我的代码片段:
const data = [
{ name: '用户行为分析报告', value: 400 },
{ name: '系统性能监控数据', value: 300 }
];
<BarChart width={600} height={300} data={data}>
<XAxis dataKey="name" />
<YAxis />
<Bar dataKey="value" fill="#8884d8" />
</BarChart>
最直接的办法是写一个自定义的 tick 渲染函数:
如果你不想自己算字符换行,另一个简单的办法是让文字倾斜显示:
倾斜适合文字不是很长的情况,换行适合特别长的分类名,看你具体需求选一个。