.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/animation/random_walk.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. meta:: :keywords: codex .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_animation_random_walk.py: ======================= Animated 3D random walk ======================= Output generated via `matplotlib.animation.Animation.to_jshtml`. .. GENERATED FROM PYTHON SOURCE LINES 8-55 .. container:: sphx-glr-animation .. raw:: html
.. code-block:: Python import matplotlib.pyplot as plt import numpy as np import matplotlib.animation as animation # Fixing random state for reproducibility np.random.seed(19680801) def random_walk(num_steps, max_step=0.05): """Return a 3D random walk as (num_steps, 3) array.""" start_pos = np.random.random(3) steps = np.random.uniform(-max_step, max_step, size=(num_steps, 3)) walk = start_pos + np.cumsum(steps, axis=0) return walk def update_lines(num, walks, lines): for line, walk in zip(lines, walks): # NOTE: there is no .set_data() for 3 dim data... line.set_data(walk[:num, :2].T) line.set_3d_properties(walk[:num, 2]) return lines # Data: 40 random walks as (num_steps, 3) arrays num_steps = 30 walks = [random_walk(num_steps) for index in range(40)] # Attaching 3D axis to the figure fig = plt.figure() ax = fig.add_subplot(projection="3d") # Create lines initially without data lines = [ax.plot([], [], [])[0] for _ in walks] # Setting the axes properties ax.set(xlim3d=(0, 1), xlabel='X') ax.set(ylim3d=(0, 1), ylabel='Y') ax.set(zlim3d=(0, 1), zlabel='Z') # Creating the Animation object ani = animation.FuncAnimation( fig, update_lines, num_steps, fargs=(walks, lines), interval=100) plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 4.374 seconds) .. _sphx_glr_download_gallery_animation_random_walk.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: random_walk.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: random_walk.py ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_