Just dump the results to vtk or xdmf format at the end of each time step. Do animation in, e.g., Paraview. Add something like
f = File('dolfin.pvd')
def update(self):
f << self.c_, self.t
Problem.update = update
update is the last thing called at the end of a time step.