在控制台与脚本中绘制行为

问题描述 投票:0回答:1

我是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 中工作)。

python spyder
1个回答
0
投票

此问题可能与 Spyder IDE 在交互模式下处理绘图的方式有关。当您直接运行脚本时,在脚本执行完成之前可能不会显示绘图。但是,当您在调试模式下逐行运行代码或随后在控制台中执行代码时,它允许交互式更新和立即绘图。

为了确保即使在运行脚本时也能显示绘图,您可以尝试添加`

© www.soinside.com 2019 - 2024. All rights reserved.