======== Plotting ======== The default plot for a :code:`Surface` is a 2d false color plot. The plot can be generated by the :code:`Surface.plot_2d()` method, which returns the matplotlib figure and axis. Using the :code:`Surface.show()` method has the same effect but also calls :code:`plt.show` and does not return anything. By default, in a Jupyter environment, the :code:`Surface.show()` method will be invoked as a repr method when the surface object is put on the last line of a cell. In total, :code:`Surface` objects defines these plotting methods: - :meth:`~surfalize.surface.Surface.plot_2d()` - :meth:`~surfalize.surface.Surface.plot_3d()` - :meth:`~surfalize.surface.Surface.plot_fourier_transform()` - :meth:`~surfalize.surface.Surface.plot_autocorrelation()` - :meth:`~surfalize.surface.Surface.plot_abbott_curve()` - :meth:`~surfalize.surface.Surface.plot_functional_parameter_study()` All plotting methods except :code:`plot_3d` use :code:`matplotlib` and return the :code:`Figure` and :code:`Axes` objects. All plotting methods implement a :code:`save_to` keyword argument, which is :code:`None` by default. If specified, the method saves the plot as an image file with the specified file extension. 3d-plotting requires the following optional dependencies: pyvista, trame, trame-vtk, trame-vuetify, trame-components. You can install these by installing surfalize with optional dependency :code:`[3d]`: .. code:: pip install surfalize[3d]