规格:
背景:
我正在尝试使用recharts包来创建图表。我已经非常接近我的目标了。但是,如果标签太长,我会坚持设计 YAxis 标签的样式以使其省略。
当前的状况:
正如您所看到的,它与其他数据重叠。我知道我可以减小字体大小或将宽度设置得更大。但是,问题是,YAxis 标签是动态的,并且可能很长。这是当前代码https://codesandbox.io/s/simple-bar-chart-forked-72z60?file=/src/App.tsx
客观的:
我想让 YAxis 标签显示“这是长标签并且...”(如果太长则显示三个点),类似于使用省略号。
顺便说一句,我有与此问题Dynamic height for Recharts Horizontal barchart with long labels in YAxis相同的问题。您可以将其标记为重复,但也请帮助我。这些问题仍然没有得到接受的答案。
小智 7
您可以使用其中一种YAxis道具来实现它,tickFormatter. 该属性返回每个YAxis值及其索引。另外,这个 props 需要一个字符串作为返回值,它是格式化的 YAxis 标签。这个想法有点像这样:
tickFormatter = (value: string, index: number) => {
const limit = 20; // put your maximum character
if (value.length < limit) return value;
return `${value.substring(0, limit)}...`;
};
<YAxis
width={150}
tickFormatter={tickFormatter}
/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4494 次 |
| 最近记录: |