【问题标题】:Python- 1 second plots continous presentationPython- 1 秒绘制连续演示
【发布时间】:2012-09-22 15:22:54
【问题描述】:

我有一本包含数据的字典。对于每个条目,我想显示 1 秒的图并移至下一个。要显示的图已经在外部脚本中编码。我想自动执行此操作。所以我遍历字典,显示第一组图[0],关闭图[0],显示图[1] 关闭图[1] ...我想设置显示时间,比如说 1 秒和将情节设置为全屏。在演示过程中我不想触摸计算机的问题。

import pylab as pl
import numpy as np

x = np.arange(-np.pi, np.pi, 0.1)         # only for the example purpose
myDict = {"sin":np.sin(x), "cos":np.cos(x), "exp":np.exp(x)}
for key in myDict:
    print myDict[key]
    pl.plt.plot(myDict[key])              # in origin coming from external function
    pl.plt.plot(x)                        # in origin coming from external function
    pl.plt.show()

有谁知道上面应该使用什么函数以及如何修改?

【问题讨论】:

标签: python matplotlib


【解决方案1】:

一个简单的方法是使用plt.pause(1)。更复杂的方法是使用matplotlib.animate 模块。见pylab.ion() in python 2, matplotlib 1.1.1 and updating of the plot while the program runs

exampleapitutorial

【讨论】:

    【解决方案2】:
    import time
    import pylab as pl
    import numpy as np
    
    pl.ion()
    x = np.arange(-np.pi, np.pi, 0.1)         # only for the example purpose
    myDict = {"sin":np.sin, "cos":np.cos, "exp":np.exp}
    for key in myDict:
        print myDict[key]
        pl.clf()
        y = myDict[key](x)
        pl.plt.plot(x, y, label=key)
        pl.plt.draw()
        time.sleep(1)
    

    【讨论】:

    • @Lepy 我尝试实施您的解决方案,但它不想工作。我无法更改行 pl.plt.plot(myDict[key])pl.plt.plot(x) ,因为它们在不同的脚本中实现。当我按原样尝试时,该图并未显示我尝试了不同的事物,但现在缺乏。您将如何使用多个 plot() 函数编写以显示在一个图形上?还有你知道如何让人物全屏显示吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 2016-10-07
    • 2020-04-09
    相关资源
    最近更新 更多