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