.. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_tutorials_2D_datasets_plot_0_2D.py: 2D{1} dataset with two linear dimensions ---------------------------------------- In the following example, we illustrate how one can covert a Numpy array into a CSDM object. Start by importing the Numpy and csdmpy libraries. .. code-block:: default import matplotlib.pyplot as plt import numpy as np import csdmpy as cp Let's generate a 2D NumPy array of random numbers as our dataset. .. code-block:: default data = np.random.rand(65536).reshape(256, 256) Create the DependentVariable object from the numpy object. .. code-block:: default dv = cp.as_dependent_variable(data, unit="Pa") Create the two Dimension objects .. code-block:: default d0 = cp.LinearDimension( count=256, increment="15.23 µs", coordinates_offset="-1.95 ms", label="t1" ) d1 = cp.LinearDimension( count=256, increment="10 cm", coordinates_offset="-5 m", label="x2" ) Here, ``d0`` and ``d1`` are LinearDimension objects with 256 points and 15.23 µs and 10 cm as increment. Creating the CSDM object. .. code-block:: default csdm_object = cp.CSDM(dependent_variables=[dv], dimensions=[d0, d1]) print(csdm_object.dimensions) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none [LinearDimension(count=256, increment=15.23 µs, coordinates_offset=-1.95 ms, quantity_name=time, label=t1, reciprocal={'quantity_name': 'frequency'}), LinearDimension(count=256, increment=10.0 cm, coordinates_offset=-5.0 m, quantity_name=length, label=x2, reciprocal={'quantity_name': 'wavenumber'})] Plot of the dataset. .. code-block:: default plt.figure(figsize=(5, 3.5)) ax = plt.gca(projection="csdm") ax.imshow(csdm_object, aspect="auto") plt.tight_layout() plt.show() .. image:: /auto_tutorials/2D_datasets/images/sphx_glr_plot_0_2D_001.png :alt: plot 0 2D :class: sphx-glr-single-img To serialize the file, use the save method. .. code-block:: default csdm_object.save("2D_1_dataset.csdf") .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.353 seconds) .. _sphx_glr_download_auto_tutorials_2D_datasets_plot_0_2D.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_0_2D.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_0_2D.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_