2014-07-18 21 views
5

Używam matplotlib do animacji mapy termicznej. Mam dane w pliku tekstowym (rs_h) z 3 kolumnami - x, y, z; Używam rozrzutu zrobić prosty mapę cieplną, a następnie przy użyciu pakietu animacji zaktualizować mapę cieplną z czasemRozwiązywanie problemów z animacją matplotlib

import pandas as pd 
import matplotlib.pyplot as plt 
import numpy as np 
import matplotlib.animation as animation 

data = pd.read_table('rs_h', header=None, sep=r"\s*") 

frames = np.array_split(data, 9) 

def main(): 
    numframes = 9 
    numpoints = 75 

    x, y, c = np.random.random((3, numpoints)) 

    fig = plt.figure() 
    scat = plt.scatter(x, y, c=c)#, s=100) 

    ani = animation.FuncAnimation(fig, update_plot, frames=xrange(numframes), 
           interval = 5) 
    #ani.save("movie.avi", codec='avi') 
    plt.show() 

def update_plot(i): 
    frame = frames[i] 
    scat = plt.scatter(frame[0], frame[1], c=frame[2]) 
    return scat, 

main() 

Mam problemy z dostaniem animowaną mapę cieplną; Ja jednak napotkasz problem, gdy próbuję zapisać animację

/Users/Arjun/anaconda/lib/python2.7/site-packages/matplotlib/animation.py:695: UserWarning: MovieWriter ffmpeg unavailable 
    warnings.warn("MovieWriter %s unavailable" % writer) 
Traceback (most recent call last): 
    File "heat_ani.py", line 29, in <module> 
    main() 
    File "heat_ani.py", line 21, in main 
    ani.save("movie.avi", codec='avi') 
    File "/Users/Arjun/anaconda/lib/python2.7/site-packages/matplotlib/animation.py", line 712, in save 
    with writer.saving(self._fig, filename, dpi): 
AttributeError: 'str' object has no attribute 'saving' 

Każdy wie, na czym polega problem i jak się wokół niego?

EDYCJA: Problem polegał na tym, że nie zainstalowałem ffmpeg. Proste parzenie instalacja pozwoliła kod pracować

Odpowiedz

Powiązane problemy