SourceForge logo
SourceForge logo
Menu

matplotlib-users

From: Jochen V. <vo...@se...> - 2006年05月22日 15:11:42
Hello,
I am trying to generate a short movie using matplotlib.
The core of my code looks like
 for i in range(1,len(t)):
 U0,U1x,U1y,H1 =3D list(sig[i,:])
 for x in arange(0,1.001,0.05):
 for y in arange(0,1.001,0.05):
 xx,yy=3Dtrace(U0,U1x,U1y,H1,x,y)
 ts[(x,y)].set_data(xx,yy)
 for j in range(0,nobs):
 tr[j].center =3D (obs[i,2*j],obs[i,2*j+1])
 savefig("f%04d.png"%i)
where the entries of the dictionary 'ts' are lines and the entries of
the dictionary 'tr' a patches (circles). Moving the lines around with
set_data works quite fine, but moving the patches by setting 'center'
does not.
My question: how do I move a patch?
Many thanks,
Jochen
--=20
http://seehuhn.de/
From: Alan G I. <ai...@am...> - 2006年05月26日 16:18:53
How are you turning your PNGs into an animation?
Thanks,
Alan Isaac
PS I know about
http://www.pymolwiki.org/index.php/Category%3ASoftware_Movies
From: Andrew S. <str...@as...> - 2006年05月26日 18:42:24
I use the following on Debian Sarge linux (both x86_64 and i686, 
although I hope/think it would work on any architecture and hopefully 
any linux distro):
"ffmpeg -hq -b 8000 -f mpeg2video -r 30 -i frame%03d.png movie.mpeg"
You may now skip the rest of this email, which is an uncalled-for 
venting-of-frustration.
Unfortunately, it seems bazillions of software companies think they can 
make bazillions of dollars by releasing yet another codec encumbered by 
more-or-less (but usually more) restrictive licensing conditions, 
leaving only lowest-common denominator codecs available for those of us 
who prefer to work without such restrictions. I sought long and hard to 
do something better than the above, but I can say this about the above 
command:
 * it produces movies that play in Windows (including PowerPoint, which 
isn't a given, even if it plays in Windows Media Player -- c'mon 
Microsoft, this is 2006, we should be able to play movies in our 
presentations), Mac OS X, and linux (Debian sarge, amd64 and i386, at least)
 * it seems to work with a standard Debian setup, and doesn't require 
using DLLs imported from some Windows system to to the encoding
 * it seems very fragile -- changing the frame rate or the codec usually 
breaks one of the above points
 * mpeg2 is probably also burdened by some licensing restrictions which 
I'm unaware of
 * on some Windows boxes/programs, white backgrounds get displayed as 
gray for some reason
Wishing that in 2006 we as a human race could come up with a better, 
open video format, but willing to accept even minor improvements to the 
above script,
Andrew
Alan G Isaac wrote:
>How are you turning your PNGs into an animation?
>
>Thanks,
>Alan Isaac
>
>PS I know about
>http://www.pymolwiki.org/index.php/Category%3ASoftware_Movies
> 
>
From: Alan G I. <ai...@am...> - 2006年05月27日 00:38:43
On 2006年5月26日, Andrew Straw apparently wrote: 
> ffmpeg -hq -b 8000 -f mpeg2video -r 30 -i frame%03d.png movie.mpeg" 
> * it seems very fragile -- changing the frame rate or the 
> codec usually breaks one of the above points 
OK. Thanks for the information and warning.
Did you experiment with MNG, or is support just not there yet?
(And will the next PIL be supporting MNG?)
Cheers,
Alan Isaac
From: Jochen V. <li...@se...> - 2006年05月27日 13:20:49
Hi Alan,
On Fri, May 26, 2006 at 12:26:07PM -0400, Alan G Isaac wrote:
> How are you turning your PNGs into an animation?
Sorry about the slow answer. I just used mencoder:
 mencoder 'mf://oc/*.png' -mf type=3Dpng:fps=3D12 -ovc lavc -lavcopts vc=
odec=3Dmpeg4 -o ocean.avi
All the best,
Jochen
--=20
http://seehuhn.de/
From: Jochen V. <li...@se...> - 2006年05月27日 13:26:15
Hi Andrew,
On Fri, May 26, 2006 at 11:42:07AM -0700, Andrew Straw wrote:
> Wishing that in 2006 we as a human race could come up with a better,=20
> open video format, ...
I think most of the problems is caused by software patents. It is
just not safe for Linux distributions etc. to integrate video
encoders, so all the solutions which exist are hidden away somewhere,
are not well integrated into the system, and also not too well tested.
By the way: does anybody know how to move a patch in matplotlib?
set_data works for lines, but what works for patches?
Many thanks,
Jochen
--=20
http://seehuhn.de/
From: John H. <jdh...@ac...> - 2006年05月27日 17:37:58
>>>>> "Jochen" == Jochen Voss <li...@se...> writes:
 Jochen> By the way: does anybody know how to move a patch in
 Jochen> matplotlib? set_data works for lines, but what works for
 Jochen> patches?
This should be easier, but here's an example with a regular polygon --
it is quite easy to generalize this to any patch...
Use the blit techniques described on the animation wiki if you want to
make this significantly more efficient
from matplotlib.patches import RegularPolygon
from pylab import figure, show, nx
class MyPoly(RegularPolygon):
 def __init__(self, *args, **kwargs):
 RegularPolygon.__init__(self, *args, **kwargs)
 self.offsetx = 0
 self.offsety = 0
 self.x, self.y = map(nx.array, zip(*RegularPolygon.get_verts(self)))
 
 def get_verts(self):
 x = self.x + self.offsetx
 y = self.y + self.offsety
 return zip(x, y)
 
poly = MyPoly(xy=(1,1), numVertices=6, radius=5)
fig = figure()
ax = fig.add_subplot(111, xlim=(-100, 100), ylim=(-100, 100), autoscale_on=False)
ax.add_patch(poly)
def start(event):
 fig.canvas.mpl_disconnect(start.cid)
 randn = nx.mlab.randn
 for i in range(200):
 poly.offsetx += 2*randn()
 poly.offsety += 2*randn()
 fig.canvas.draw()
 
start.cid = fig.canvas.mpl_connect('draw_event', start)
show()
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /