from dgfit.plotting.plot_dgfit import (plot_dgfit_sizedist,
                                        plot_dgfit_extinction,
                                        plot_dgfit_emission,
                                        plot_dgfit_albedo,
                                        plot_dgfit_g,
                                        plot_dgfit_abundances)
from dgfit.obsdata import ObsData
import numpy as np
import matplotlib.pyplot as pyplot
import matplotlib
from astropy.io import fits

OD = ObsData("mw_rv31_obs.dat", path = "../../dgfit/data/mw_rv31/")
hdulist = fits.open("../../dgfit/data/mw_rv31/WD01_grains_all_points_WD_sizedist_best_optimizer.fits")

fontsize = 16
font = {"size": fontsize}
matplotlib.rc("font", **font)
matplotlib.rc("lines", linewidth=2)
matplotlib.rc("axes", linewidth=2)
matplotlib.rc("xtick.major", width=2)
matplotlib.rc("ytick.major", width=2)

fig, ax = pyplot.subplots(ncols=3, nrows=2, figsize=(15, 10))

plot_dgfit_sizedist(ax[0, 0], hdulist, fontsize=fontsize, plegend=True)
plot_dgfit_abundances(
    ax[0, 1],
    hdulist,
    OD,
    fontsize=fontsize,
    color="r",
    plegend=True,
    plabel="Final",
)
plot_dgfit_extinction(ax[1, 0], hdulist["EXTINCTION"], OD, fontsize=fontsize)
plot_dgfit_emission(ax[0, 2], hdulist["EMISSION"], OD, fontsize=fontsize)
plot_dgfit_albedo(ax[1, 1], hdulist["ALBEDO"], OD, fontsize=fontsize)
plot_dgfit_g(ax[1, 2], hdulist["G"], OD, fontsize=fontsize)

pyplot.tight_layout()