我是Python新手,我对以下行为感到困惑。当我执行这个脚本时,它不会绘制任何内容。
import matplotlib.pyplot as plt
import numpy as np
q_arr = np.array([[1, 2], [3, 4], [5, 6]])
a1 = np.c_[q_arr[:,0],q_arr[:,1]]
x = np.random.rand(3)
y = np.random.rand(3)
x = np.reshape(x,(3,1))
y = np.reshape(y,(3,1))
a2 = np.concatenate((x,y),1)
fig, ax = plt.subplots()
scatter = ax.scatter(a2[:,0],a2[:,1],45,'blue')
plt.show()
但是,如果我只是在倒数第二行停止在调试模式并将其复制到控制台中,那么它就会绘制。为什么会发生这种情况?它的行为应该完全相同(我在 Spyder 中工作)。
此问题可能与 Spyder IDE 在交互模式下处理绘图的方式有关。当您直接运行脚本时,在脚本执行完成之前可能不会显示绘图。但是,当您在调试模式下逐行运行代码或随后在控制台中执行代码时,它允许交互式更新和立即绘图。
为了确保即使在运行脚本时也能显示绘图,您可以尝试添加`