1

我在 OS X 上并使用 Encopy(by Enthought inc.) 来编写我的 python 程序。我从此处获取的以下代码仅生成一个点,然后终止:

from pylab import *
import time
t = linspace(0.0, pi, 100)
x = cos(t)
y = sin(t)

ion()  # turn on interactive mode
figure(0)
subplot(111, autoscale_on=False, xlim=(-1.2, 1.2), ylim=(-.2, 1.2))

point = plot([x[0]], [y[0]], marker='o', mfc='r', ms=3)

for j in arange(len(t)):
    # reset x/y-data of point
    setp(point[0], data=(x[j], y[j]))
    time.sleep(0.05)
    draw() # redraw current figure

ioff() # turn off interactive mode
show()

任何想法可能是什么问题?下面是我得到的结果的照片。在此处输入图像描述

4

1 回答 1

2

它只绘制一个点,因为您只是告诉它绘制一个点。如果要绘制线条 j使用以下内容:

from pylab import *

t = linspace(0.0, pi, 100)
x = cos(t)
y = sin(t)
figure(0)
subplot(111, autoscale_on=False, xlim=(-1.2, 1.2), ylim=(-.2, 1.2))

point,  = plot([x[0]], [y[0]], marker='o', mfc='r', ms=3)

for j in arange(len(t)):
    # reset x/y-data of point
    point.set_data(x[:j], y[:j])
    plt.pause(0.05)
    plt.draw() # redraw current figure
于 2013-10-28T18:22:53.780 回答