import numpy as np
from valjean.javert.templates import (PlotTemplate, CurveElements,
                                      SubPlotElements)
bins = [np.array(np.arange(10))]
lcurves1 = [CurveElements(
    values=bins[0][1:]*0.5*(icurve+1) + icurve*(-1)**(icurve),
    bins=bins, legend=str(icurve), index=icurve)
            for icurve in range(3)]
sbpe1 = SubPlotElements(curves=lcurves1, axnames=['the x-axis', ''])
lcurves2 = [CurveElements(
    values=lcurves1[icurve].values/lcurves1[0].values, bins=bins,
    legend=str(icurve+1)+' vs 0', index=icurve)
            for icurve in range(1, 3)]
sbpe2 = SubPlotElements(curves=lcurves2,
                        axnames=['the x-axis', 'C/ref'])
lcurves3 = [CurveElements(
    values=((lcurves1[icurve].values-lcurves1[0].values)
            /lcurves1[0].values),
    bins=bins, legend=str(icurve+1)+' vs 0', index=icurve)
            for icurve in range(1, 3)]
sbpe3 = SubPlotElements(curves=lcurves3,
                        axnames=['the x-axis', '(C-ref)/ref'])
pltit = PlotTemplate(subplots=[sbpe1, sbpe2, sbpe3],
                     small_subplots=False,
                     backend_kw={'ncols': 3, 'nrows': 1,
                                 'subplot_kw': {'aspect': 'equal'}})
from valjean.javert.mpl import MplPlot, MplStyle
mplplt = MplPlot(pltit)
fig, _ = mplplt.draw()
