拟合直线斜率转角度结果异常,求问题排查方法
斜率转角度结果看似不合理的原因分析
你的代码计算逻辑是正确的,np.arctan(res.slope)再转角度的公式没有问题。从输出结果来看:
- 斜率为
0.00010043,这个值非常小,对应的反正切值确实接近0弧度,转换为角度后约0.0057度,这是数学上的准确结果。
你觉得结果不合理,大概率是图表坐标轴的缩放比例问题导致的视觉错觉:
- 如果你的x轴数值范围远大于y轴(比如x轴跨度是0到10000,y轴跨度是0到1),斜率0.0001的直线在图表上会看起来有明显倾斜,但这只是因为坐标轴的刻度缩放不一致,视觉上的倾斜角度和真实的数学角度完全不是一回事。
验证和解决方法:
- 检查图表的x、y轴刻度范围,确认两者的数值跨度差异是否很大。
- 可以在绘图时强制坐标轴等比例显示(比如用matplotlib的
plt.axis('equal')),此时直线的视觉倾斜程度会和计算出的0.0057度一致,看起来几乎是水平的。
内容的提问来源于stack exchange,提问作者thentangler
相关产品推荐
相关产品推荐

