Python交互控制台在matplotlib期间挂起?

2024-10-01 22:36:13 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行下面的绘图时,控制台总是挂在那里,绘图永远不会完成。计算不重,但我不确定哪里不合适。在

import matplotlib.pyplot as plt

def showTrajectories(datafilename):
    with open(datafilename) as f1:
        content1 = f1.readlines()
    content1 = [line.strip() for line in content1] # remove newline character
    for i in range(int(content1[1])):
        traj = [float(x) for x in content1[i+2].split()]
        x = traj[2:][::2]
        y = traj[2:][1::2]
        plt.plot(x, y, color = '#99ffff')
    plt.title(datafilename)
    plt.xlabel('x (m)', fontsize=16)
    plt.ylabel('y (m)', fontsize=16)
    plt.show()


def showRepresentatives(resultfilename):
    with open(resultfilename) as f2:
        content2 = f2.readlines()
    content2 = [line.strip() for line in content2] # remove newline character
    for i in range(int(content2[0])):
        traj = [float(x) for x in content2[i+1].split()]
        x = traj[2:][::2]
        y = traj[2:][1::2]
        plt.plot(x, y, linewidth=3, color='#006633')
    plt.title(datafilename)
    plt.xlabel('x (m)', fontsize=16)
    plt.ylabel('y (m)', fontsize=16)
    plt.show()

如果这些重要的话,我使用的是Python Tools for Visual Studio和python2.7。在


可以正确绘制showTrajectories(datafilename)。当遇到showRepresentatives(resultfilename)时,它会挂起。因此,我将把resultfilename数据发布在这里,如下所示:

^{pr2}$

Tags: in绘图fordefaswithlineplt
1条回答
网友
1楼 · 发布于 2024-10-01 22:36:13

一般来说,表演()阻止其他命令,直到绘图窗口关闭。所以,你通常只想打电话表演()等你把一切都画好之后。在

当然,如果您想在添加内容时看到绘图更改,可以使用matplotlib的“交互模式”,方法是调用

plt.ion() 
plt.show()

然后,可以使用更新绘图绘图()在你画出更多的线之后。(完成后,可以使用关闭plt(); 表演()以使情节持续。在

Spyder可能会自动让你进入互动模式-我不确定这一点。在

相关问题 更多 >

    热门问题