Goyo, Sweet little function. Thanks.
I still feel that a comet routine should be added to matplotlib for the reasons I've delineated. D. On Feb 6, 2010, at 1:38 PM, Goyo wrote: > Hi David, > > El sáb, 06-02-2010 a las 10:21 -0800, David Arnold escribió: >> Hi Eric, >> >> Matlab has two commands, comet and comet3, that animate the path. They are >> used as in the following Matlab code: >> >> t=linspace(0,2*pi,2000); >> x=-sin(t); >> y=cos(t); >> comet(x,y) > > You can just write the function: > > import matplotlib.pyplot as plt > > def comet(x, y, fmt='', step=1, **kwargs): > l, = plt.plot(x, y, fmt, **kwargs) > num_points = len(x) > for i in xrange(1, num_points + 1, step): > l.set_data(x[:i], y[:i]) > plt.draw() > l.set_data(x, y) > plt.draw() > > I think this could be better done using animation features of > matplotlib, but I never used them and I think they varies across > toolkits. Search the docs for animation examples anyway. > > Goyo > >> >> What then happens is the path is drawn "live", as in my python code below. >> >> This is especially useful when teaching parametric equations in calculus. A >> typical question in that section might be: "find a parametrization for the >> unit circle that starts at (0,1) and moves around the circle one time in the >> counterclockwise direction." In this situation, the following is not helpful: >> >> t=linspace(0,2*pi,2000); >> x=-sin(t); >> y=cos(t); >> plot(x,y) >> >> Because the student just sees sees the "finished" path. The comet command, >> on the other hand, allows the student to "see" that path as it is traced out >> in real time. >> >> David. >> >> On Feb 6, 2010, at 9:09 AM, Eric Firing wrote: >> >>> David Arnold wrote: >>>> All, >>>> I am still wondering why there is no comet command in matplotlib. I was >>>> successful with the following: >>>> import matplotlib.pyplot as plt >>>> import numpy as np >>>> len=200 >>>> t=np.linspace(0,2*np.pi,len) >>>> x=np.cos(t) >>>> y=np.sin(t) >>>> xd=[x[0]] >>>> yd=[y[0]] >>>> l,=plt.plot(xd,yd) >>>> plt.axis([-1,1,-1,1]) >>>> for i in np.arange(1,len): >>>> xd.append(x[i]) >>>> yd.append(y[i]) >>>> l.set_xdata(xd) >>>> l.set_ydata(yd) >>>> plt.draw() >>>> >>>> plt.show() >>>> But it seems that a comet function added to the matplotlib library would >>>> greatly simplify things for students using the interactive pylab in >>>> ipython. >>> >>> I don't understand--what's the point of the example? What is "comet", and >>> how does it simplify anything? >>> >>> Eric >>> >> >> >> ------------------------------------------------------------------------------ >> The Planet: dedicated and managed hosting, cloud storage, colocation >> Stay online with enterprise data centers and the best network in the business >> Choose flexible plans and management services without long-term contracts >> Personal 24x7 support from experience hosting pros just a phone call away. >> http://p.sf.net/sfu/theplanet-com >> _______________________________________________ >> Matplotlib-users mailing list >> Matplotlib-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > ------------------------------------------------------------------------------ > The Planet: dedicated and managed hosting, cloud storage, colocation > Stay online with enterprise data centers and the best network in the business > Choose flexible plans and management services without long-term contracts > Personal 24x7 support from experience hosting pros just a phone call away. > http://p.sf.net/sfu/theplanet-com > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users