.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/basic.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. 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_examples_basic.py: Basic Use --------- .. GENERATED FROM PYTHON SOURCE LINES 7-9 Generating data =============== .. GENERATED FROM PYTHON SOURCE LINES 9-17 .. code-block:: Python import matplotlib.pyplot as plt import numpy as np theta = np.linspace(0, 2 * np.pi, 50) data = np.c_[np.cos(theta), np.sin(theta)] plt.scatter(data[:, 0], data[:, 1]) plt.show() .. image-sg:: /examples/images/sphx_glr_basic_001.png :alt: basic :srcset: /examples/images/sphx_glr_basic_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 18-20 Projecting our data =================== .. GENERATED FROM PYTHON SOURCE LINES 20-26 .. code-block:: Python projection = data[:, 0] plt.scatter(data[:, 0], data[:, 1], label="data") plt.scatter(projection, np.zeros_like(projection), label="projection") plt.legend() plt.show() .. image-sg:: /examples/images/sphx_glr_basic_002.png :alt: basic :srcset: /examples/images/sphx_glr_basic_002.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 27-29 Covering our data ================= .. GENERATED FROM PYTHON SOURCE LINES 29-45 .. code-block:: Python import zen_mapper as zm cover_scheme = zm.Width_Balanced_Cover(n_elements=3, percent_overlap=0.4) cover = cover_scheme(projection) for i, c in enumerate(cover): plt.scatter( projection[c], np.full_like(c, i), label=f"Cover element: {i + 1}", ) plt.legend() plt.show() .. image-sg:: /examples/images/sphx_glr_basic_003.png :alt: basic :srcset: /examples/images/sphx_glr_basic_003.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 46-48 Pulling back ============ .. GENERATED FROM PYTHON SOURCE LINES 48-58 .. code-block:: Python for i, c in enumerate(cover): plt.scatter( data[c, 0], data[c, 1] + 0.5 * i, label=f"Cover element: {i + 1}", ) plt.legend() plt.show() .. image-sg:: /examples/images/sphx_glr_basic_004.png :alt: basic :srcset: /examples/images/sphx_glr_basic_004.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 59-61 Defining a clusterer ==================== .. GENERATED FROM PYTHON SOURCE LINES 61-70 .. code-block:: Python from sklearn.cluster import AgglomerativeClustering sk = AgglomerativeClustering( linkage="single", n_clusters=None, distance_threshold=0.2, ) clusterer = zm.sk_learn(sk) .. GENERATED FROM PYTHON SOURCE LINES 71-73 Computing the mapper graph ========================== .. GENERATED FROM PYTHON SOURCE LINES 73-82 .. code-block:: Python result = zm.mapper( data=data, projection=projection, cover_scheme=cover_scheme, clusterer=clusterer, dim=1, ) .. GENERATED FROM PYTHON SOURCE LINES 83-85 Visualizing the mapper graph ============================ .. GENERATED FROM PYTHON SOURCE LINES 85-89 .. code-block:: Python import networkx as nx graph = zm.to_networkx(result.nerve) nx.draw(graph) .. image-sg:: /examples/images/sphx_glr_basic_005.png :alt: basic :srcset: /examples/images/sphx_glr_basic_005.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.337 seconds) .. _sphx_glr_download_examples_basic.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: basic.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: basic.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: basic.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_