"""
Plots: Axis
===========

This example illustrates how to customize the Matplotlib figure's axis in figures and subplots.
"""
# %matplotlib inline
# from pyprojroot import here
# workspace_path = str(here())
# %cd $workspace_path
# print(f"Working Directory has been set to `{workspace_path}`")

from os import path
import autolens as al
import autolens.plot as aplt

"""
First, lets load an example Hubble Space Telescope image of a real strong lens as an `Array2D`.
"""
dataset_path = path.join("dataset", "slacs", "slacs1430+4105")
image_path = path.join(dataset_path, "image.fits")
image = al.Array2D.from_fits(file_path=image_path, hdu=0, pixel_scales=0.03)

"""
We can customize the figure using the `Axis` matplotlib wrapper object which wraps the following method(s):

 plt.axis: https://matplotlib.org/3.3.2/api/_as_gen/matplotlib.pyplot.axis.html
"""
array_plotter = aplt.Array2DPlotter(array=image)
array_plotter.figure_2d()

axis = aplt.Axis(extent=[-1.0, 1.0, -1.0, 1.0])

mat_plot_2d = aplt.MatPlot2D(axis=axis)

array_plotter = aplt.Array2DPlotter(array=image, mat_plot_2d=mat_plot_2d)
array_plotter.figure_2d()

"""
Finish.
"""
