antd charts 柱状图自定义y轴刻度
时间: 2023-08-25 14:11:41 浏览: 645
如果你想自定义 y 轴的刻度,可以使用 `yAxis` 组件中的 `ticks` 属性来实现。你需要指定一个数组,该数组包含你想要显示的所有刻度值。例如,以下代码将 y 轴的刻度设置为 `[0, 20, 40, 60, 80, 100]`:
```jsx
import React from 'react';
import ReactDOM from 'react-dom';
import { Chart, Interval, Axis, Tooltip, Legend } from 'bizcharts';
const data = [
{ year: '1951 年', sales: 38 },
{ year: '1952 年', sales: 52 },
{ year: '1956 年', sales: 61 },
{ year: '1957 年', sales: 145 },
{ year: '1958 年', sales: 48 },
{ year: '1959 年', sales: 38 },
{ year: '1960 年', sales: 38 },
{ year: '1962 年', sales: 38 },
];
const cols = {
sales: {
tickInterval: 20,
},
};
const CustomYAxisTick = (props) => {
const { x, y, payload } = props;
return (
<g transform={`translate(${x},${y})`}>
<text x={0} y={0} dy={16} textAnchor="end" fill="#666" transform="rotate(-35)">
{payload.value}
</text>
</g>
);
};
ReactDOM.render(
<Chart height={400} data={data} scale={cols} forceFit>
<Interval position="year*sales" />
<Axis name="year" />
<Axis name="sales" ticks={[0, 20, 40, 60, 80, 100]} />
<Tooltip />
</Chart>,
mountNode
);
```
在上述代码中,我们使用 `ticks` 属性将 y 轴刻度设置为 `[0, 20, 40, 60, 80, 100]`。此外,我们还定义了一个 `CustomYAxisTick` 组件,该组件负责渲染每个刻度的标签。你可以根据需要自定义这个组件的样式和布局。
另外,我们还使用了 `tickInterval` 属性来设置刻度之间的间隔。在这个例子中,我们将它设置为 20,这意味着每个刻度之间的间隔为 20。你可以根据需要调整这个值。
阅读全文