code: def save_loop(filename, framerate=30, time=3.0, axis=np.array([0.,0.,1.]), clf=True, **kwargs):
          
          n_frames = framerate * time
          az = 2.0 * np.pi / n_frames
          Visualizer3D.save(filename, n_frames=n_frames, axis=axis, clf=clf,
                            animate_rate=framerate, animate_az=az)
          if clf:
              Visualizer3D.clf()
docs: Off-screen save a GIF of one rotation about the scene.
  
          Parameters
          ----------
          filename : str
              The filename in which to save the output image (should have extension .gif)
          framerate : int
              The frame rate at which to animate motion.
          time : float
              The number of seconds for one rotation.
          axis : (3,) float or None
              If present, the animation will rotate about the given axis in world coordinates.
              Otherwise, the animation will rotate in azimuth.
          clf : bool
              If true, the Visualizer is cleared after rendering the figure.
          kwargs : dict
              Other keyword arguments for the SceneViewer instance.