如何为胜利轴上的刻度动态创建 y 轴值?

How to dynamically create y axis values for ticks on victory axis?

我创建了一个胜利条形图来显示员工流失情况。但是图表的 y 轴显示的是浮点值而不是整数,但由于员工人数不能为浮点数,我只想以整数显示 y 轴值,因此解决方案是定义自定义刻度值作为

 <VictoryAxis tickValues={[2, 4, 6, 8]}/>

但我不知道如何为我的 y 轴值动态生成刻度数组。 这是我的图表的样子:

获取值的具体方式取决于您的数据是什么,但您通常可以通过获取最大值和最小值,然后获取它们之间均匀间隔的值(或按顺序将最大值推高)来获取它们这样做)。然后,您可以将生成的值传递给您 VictoryAxis,如下所示:

const generatedValues = // code to generate the wanted values

...

<VictoryAxis tickValues={generatedValues}>

所以我遇到了类似的问题,并且在任何地方都很难找到很多帮助。我得出的解决方案是使用 VictoryAxis 组件的 tickFormat 属性 修改刻度。

 < VictoryAxis
     tickFormat = {(t) => (Number.isInteger(t) ? t : null)}
     dependentAxis />

这会检查刻度是否被定义为整数,如果是这样 returns 否则它会将刻度设置为空。