为何以下Python pyplot代码中X轴范围为0-600而非0-2*np.pi?
问题原因及解决方法
原因分析
你写的代码里,调用ax.plot(B)时只传入了Y轴的正弦值数组B,matplotlib的plot函数如果只收到一组数据,会默认把**数组的索引(数据点的序号)**当作X轴的坐标值。
计算一下数组A的长度:2*np.pi约等于6.28,步长是0.01,所以数组里的元素个数大概是628个,索引范围是0到627,这就是为什么X轴显示0到600左右——它代表的是第几个数据点,而不是你预期的0到2π的实际x值。
解决方法
要让X轴显示0到2π的实际数值,只需要在plot函数里同时传入X轴数据A和Y轴数据B,修改后的代码行如下:
ax.plot(A, B, color='red', linewidth=3.0, linestyle='--', label="sin(x)")
这样matplotlib就会用A数组的数值作为X轴刻度,和你预期的一致。
内容的提问来源于stack exchange,提问作者applepie
相关产品推荐
相关产品推荐

