Recharts库Y轴绘制异常:设置domain最小值为0仍显示-1500
Recharts Y轴domain设置无效问题解决
我在使用Recharts库时遇到Y轴绘制错误:已将Y轴domain的最小值设置为0,但Y轴仍显示-1500,而传入的数据中并不存在该数值。
Y轴显示异常截图:
当前Y轴代码:
<YAxis type="number" dataKey="response" name="Response" tickFormatter={(v) => String(safeRound(v, 2))} interval={0} domain={["0", 'auto']} />
解决建议:
- 修正domain参数类型:把domain里的字符串
"0"改成数字0,Recharts对数值型轴的边界识别需要数字类型,正确写法为domain={[0, 'auto']}。 - 排查数据处理逻辑:检查
safeRound函数是否有可能返回负值,或者数据源中是否存在NaN、undefined这类异常值,这类值可能导致Recharts自动调整轴范围。 - 添加范围锁定属性:如果修改domain后仍无效,给YAxis添加
allowDataOverflow={false},强制图表不显示超出设定domain范围的刻度。
内容的提问来源于stack exchange,提问作者Dan Florko
相关产品推荐
相关产品推荐

