未重置plt变量,Google Colab两单元格为何出现不同X/Y轴范围?
问题解答
核心原因
Google Colab里,Matplotlib的全局绘图状态(比如当前的画布/坐标轴对象)会跨单元格保留,但每次调用plt.show()后,Colab的内置渲染后端会把当前画布渲染输出,然后标记它为已关闭。等你在第二个单元格再调用plt.plot()时,Matplotlib会自动新建一套完全独立的画布和坐标轴,这套新的坐标轴会根据当前要画的数据自动调整范围,和之前的画布没有关联。
关于范围差异的补充
按你代码里的sin(x)和cos(x)来说,两者的数值范围都是[-1,1],正常情况下两个图的Y轴范围应该一致。如果你的图显示范围不同,要么是操作时不小心改了轴范围(比如误写了plt.ylim(0,1)这类代码没注意),要么是Colab的临时渲染小异常。
统一轴范围的方法
如果想让两个图的轴范围完全一样,可以手动指定:
plt.plot(x, z) plt.xlim(0, 10) plt.ylim(-1, 1) plt.show()
内容的提问来源于stack exchange,提问作者Deepak Tatyaji Ahire
相关产品推荐
相关产品推荐

