Note
Go to the end to download the full example code.
Mueller matrix
Mueller matrix fit to a SiO2 on Si measurement.
import elli
from elli.fitting import ParamsHist, fit_mueller_matrix
Read data
We load the data from an ascii file containing each of the mueller matrix elements. The wavelength range is cut to be in between 210 nm and 820 nm, to stay in the range of the provided literature values for Si. The data is expected to be in a pandas dataframe containing the columns Mxy, where x and y refer to the matrix element inside the mueller matrix. The data is scaled by the M11 element, such that \(M_{11} = 1\) for all wavelengths. To show the structure we print the MM dataframe. If you load your data from another source make sure it adheres to this form.
M11 M12 M13 M14 ... M41 M42 M43 M44
Wavelength ...
210.30366 1.0 -0.09147 -0.01241 -0.00614 ... 0.00986 0.00048 -0.95574 0.25821
210.76102 1.0 -0.10879 -0.01151 -0.00901 ... 0.00917 0.01319 -0.96899 0.24432
211.21834 1.0 -0.10639 -0.00694 -0.00475 ... 0.00712 0.00891 -0.96191 0.24986
211.67561 1.0 -0.11544 -0.02094 -0.00348 ... 0.01877 0.01726 -0.95951 0.25408
212.13284 1.0 -0.12199 0.02182 0.00480 ... -0.01790 -0.01957 -0.95493 0.28308
... ... ... ... ... ... ... ... ... ...
818.08934 1.0 -0.44285 -0.00048 -0.00288 ... 0.00292 -0.00276 -0.87949 0.15713
818.50589 1.0 -0.44301 0.00376 0.00118 ... -0.00159 -0.01090 -0.87876 0.16422
818.92240 1.0 -0.44245 0.00887 0.00626 ... -0.00585 -0.01388 -0.87960 0.16743
819.33886 1.0 -0.44406 -0.00646 -0.00610 ... 0.00882 0.00424 -0.87907 0.15105
819.75528 1.0 -0.44381 0.01170 0.00550 ... -0.00692 -0.01260 -0.87849 0.16637
[1396 rows x 16 columns]
Setting start parameters
Here we set the start parameters for the SiO2 cauchy dispersion and thickness of the layer.
params = ParamsHist()
params.add("SiO2_n0", value=1.452, min=-100, max=100, vary=True)
params.add("SiO2_n1", value=36.0, min=-40000, max=40000, vary=True)
params.add("SiO2_n2", value=0, min=-40000, max=40000, vary=True)
params.add("SiO2_k0", value=0, min=-100, max=100, vary=True)
params.add("SiO2_k1", value=0, min=-40000, max=40000, vary=True)
params.add("SiO2_k2", value=0, min=-40000, max=40000, vary=True)
params.add("SiO2_d", value=120, min=0, max=40000, vary=True)
Load silicon dispersion from the refractiveindexinfo database
You can load any material from the index
refractiveindex.info, which is
embedded into the software (so you may use it offline, too). Here, we
are interested in the literature values for the silicon substrate.
First we need to load the database with rii_db = elli.db.RII() and
then we can query it with rii_db.get_mat("Si", "Aspnes") to load
this
entry.
rii_db = elli.db.RII()
Si = rii_db.get_mat("Si", "Aspnes")
Building the model
Here the model is build and the experimental structure is returned. For details on this process please refer to the Basic usage example. When executed in an jupyter notebook this displays an interactive graph with which you can select the start parameters before fitting the data.
@fit_mueller_matrix(MM, params, display_single=False, sharex=True, full_scale=False)
def model(lbda, params):
SiO2 = elli.Cauchy(
params["SiO2_n0"],
params["SiO2_n1"],
params["SiO2_n2"],
params["SiO2_k0"],
params["SiO2_k1"],
params["SiO2_k2"],
).get_mat()
Layer = [elli.Layer(SiO2, params["SiO2_d"])]
return elli.Structure(elli.AIR, Layer, Si).evaluate(
lbda, 70, solver=elli.Solver4x4, propagator=elli.PropagatorExpm()
)
Plot & Fit the model
Here we plot the model at the initial parameter set vs. the experimental data.
model.plot()
FigureWidget({
'data': [{'line': {'color': '#636EFA', 'dash': 'solid'},
'name': 'M11 ',
'type': 'scatter',
'uid': 'df2ee9b2-d267-41a0-8f8b-cc704b01c309',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x',
'y': array([1., 1., 1., ..., 1., 1., 1.]),
'yaxis': 'y'},
{'line': {'color': '#636EFA', 'dash': 'dash'},
'name': 'M11 theory',
'type': 'scatter',
'uid': '91e184c2-1787-4a07-bfae-93317c38f412',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x',
'y': array([1., 1., 1., ..., 1., 1., 1.]),
'yaxis': 'y'},
{'line': {'color': '#EF553B', 'dash': 'solid'},
'name': 'M12 ',
'type': 'scatter',
'uid': '7da76c5b-c027-489b-a805-54b8109cddce',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x2',
'y': array([-0.09147, -0.10879, -0.10639, ..., -0.44245, -0.44406, -0.44381]),
'yaxis': 'y2'},
{'line': {'color': '#EF553B', 'dash': 'dash'},
'name': 'M12 theory',
'type': 'scatter',
'uid': '7de4753e-5fa4-426a-ad97-42216c4cdd11',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x2',
'y': array([ 0.48855385, 0.48240998, 0.47406745, ..., -0.27742534, -0.27818747,
-0.27894785]),
'yaxis': 'y2'},
{'line': {'color': '#00CC96', 'dash': 'solid'},
'name': 'M13 ',
'type': 'scatter',
'uid': 'd5411206-cf47-4a4c-a6c2-97eb8326325e',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x3',
'y': array([-0.01241, -0.01151, -0.00694, ..., 0.00887, -0.00646, 0.0117 ]),
'yaxis': 'y3'},
{'line': {'color': '#00CC96', 'dash': 'dash'},
'name': 'M13 theory',
'type': 'scatter',
'uid': '248733d8-068f-4725-b901-d43cd3ae4476',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x3',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y3'},
{'line': {'color': '#AB63FA', 'dash': 'solid'},
'name': 'M14 ',
'type': 'scatter',
'uid': 'ebb6c607-1849-4ac3-837b-88115d5fd3bd',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x4',
'y': array([-0.00614, -0.00901, -0.00475, ..., 0.00626, -0.0061 , 0.0055 ]),
'yaxis': 'y4'},
{'line': {'color': '#AB63FA', 'dash': 'dash'},
'name': 'M14 theory',
'type': 'scatter',
'uid': '2f6c9313-7011-49aa-92fb-40317a4d8d85',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x4',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y4'},
{'line': {'color': '#FFA15A', 'dash': 'solid'},
'name': 'M21 ',
'type': 'scatter',
'uid': '8fe7f489-1f6e-40fb-85ad-677ab78a016d',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x5',
'y': array([-0.09605, -0.09754, -0.10761, ..., -0.44024, -0.44126, -0.44135]),
'yaxis': 'y5'},
{'line': {'color': '#FFA15A', 'dash': 'dash'},
'name': 'M21 theory',
'type': 'scatter',
'uid': '57b1e170-e691-4719-a73f-2ab0625d69d7',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x5',
'y': array([ 0.48855385, 0.48240998, 0.47406745, ..., -0.27742534, -0.27818747,
-0.27894785]),
'yaxis': 'y5'},
{'line': {'color': '#19D3F3', 'dash': 'solid'},
'name': 'M22 ',
'type': 'scatter',
'uid': 'd80b3bae-71fd-4b27-b16a-59cb59f1a8cf',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x6',
'y': array([0.99426, 0.99475, 0.99637, ..., 0.99723, 0.99661, 0.99606]),
'yaxis': 'y6'},
{'line': {'color': '#19D3F3', 'dash': 'dash'},
'name': 'M22 theory',
'type': 'scatter',
'uid': '30eb86df-35d0-4ff3-8c9f-18beac55d65e',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x6',
'y': array([1., 1., 1., ..., 1., 1., 1.]),
'yaxis': 'y6'},
{'line': {'color': '#FF6692', 'dash': 'solid'},
'name': 'M23 ',
'type': 'scatter',
'uid': '2ae7c974-72fb-4664-ac6c-a944f2b95ce7',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x7',
'y': array([-0.00364, -0.00427, -0.00207, ..., -0.00457, 0.00234, -0.00653]),
'yaxis': 'y7'},
{'line': {'color': '#FF6692', 'dash': 'dash'},
'name': 'M23 theory',
'type': 'scatter',
'uid': '0275338b-0b96-4b60-9e13-096d83cb61d2',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x7',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y7'},
{'line': {'color': '#B6E880', 'dash': 'solid'},
'name': 'M24 ',
'type': 'scatter',
'uid': '53adfdeb-7953-4a07-be7e-54d6551b4491',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x8',
'y': array([ 0.01084, -0.00325, 0.01123, ..., -0.00263, 0.00227, -0.00311]),
'yaxis': 'y8'},
{'line': {'color': '#B6E880', 'dash': 'dash'},
'name': 'M24 theory',
'type': 'scatter',
'uid': 'a1c63e77-fdfc-46ed-a8cc-e68629eae078',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x8',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y8'},
{'line': {'color': '#FF97FF', 'dash': 'solid'},
'name': 'M31 ',
'type': 'scatter',
'uid': 'be7be2f3-9b64-4884-a14b-0411acb1de0a',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x9',
'y': array([-0.00278, -0.00634, -0.00219, ..., 0.00055, -0.00105, 0.00037]),
'yaxis': 'y9'},
{'line': {'color': '#FF97FF', 'dash': 'dash'},
'name': 'M31 theory',
'type': 'scatter',
'uid': 'e73a9629-74a4-455c-8f2b-8ab8040a4d60',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x9',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y9'},
{'line': {'color': '#FECB52', 'dash': 'solid'},
'name': 'M32 ',
'type': 'scatter',
'uid': '60c52dad-8b08-45e8-9d83-f9385dc80010',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x10',
'y': array([-0.00212, -0.00045, 0.0003 , ..., -0.0018 , -0.00042, 0.00037]),
'yaxis': 'y10'},
{'line': {'color': '#FECB52', 'dash': 'dash'},
'name': 'M32 theory',
'type': 'scatter',
'uid': '6db8820d-ecbf-4c5c-860a-643b19a300c3',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x10',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y10'},
{'line': {'color': '#636EFA', 'dash': 'solid'},
'name': 'M33 ',
'type': 'scatter',
'uid': '982691a6-bc94-4141-84c9-11adfc6b5f57',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x11',
'y': array([0.27283, 0.26726, 0.2728 , ..., 0.16236, 0.16271, 0.16255]),
'yaxis': 'y11'},
{'line': {'color': '#636EFA', 'dash': 'dash'},
'name': 'M33 theory',
'type': 'scatter',
'uid': '12e75cdc-02b3-4b39-ba84-b91699848f9f',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x11',
'y': array([-0.78177026, -0.75168899, -0.71871123, ..., 0.20163327, 0.20156999,
0.20150625]),
'yaxis': 'y11'},
{'line': {'color': '#EF553B', 'dash': 'solid'},
'name': 'M34 ',
'type': 'scatter',
'uid': '82c7e3b6-3a09-450f-a73a-f7e4dd63f4a4',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x12',
'y': array([0.95555, 0.9645 , 0.95821, ..., 0.87712, 0.87629, 0.87661]),
'yaxis': 'y12'},
{'line': {'color': '#EF553B', 'dash': 'dash'},
'name': 'M34 theory',
'type': 'scatter',
'uid': '099ce110-9cbb-47b6-abdb-ebae90a009fd',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x12',
'y': array([0.38749245, 0.44971578, 0.50863958, ..., 0.93935042, 0.93913858,
0.93892669]),
'yaxis': 'y12'},
{'line': {'color': '#00CC96', 'dash': 'solid'},
'name': 'M41 ',
'type': 'scatter',
'uid': 'ba33be5b-8b9f-4f35-8ee8-f238bc1cbf66',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x13',
'y': array([ 0.00986, 0.00917, 0.00712, ..., -0.00585, 0.00882, -0.00692]),
'yaxis': 'y13'},
{'line': {'color': '#00CC96', 'dash': 'dash'},
'name': 'M41 theory',
'type': 'scatter',
'uid': 'a6a633b2-37d5-45f6-a4b1-b245f667d6e8',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x13',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y13'},
{'line': {'color': '#AB63FA', 'dash': 'solid'},
'name': 'M42 ',
'type': 'scatter',
'uid': 'f764d341-62e2-4981-8a0f-e2e58c8621ec',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x14',
'y': array([ 0.00048, 0.01319, 0.00891, ..., -0.01388, 0.00424, -0.0126 ]),
'yaxis': 'y14'},
{'line': {'color': '#AB63FA', 'dash': 'dash'},
'name': 'M42 theory',
'type': 'scatter',
'uid': '222bea3d-7b05-472c-a2ab-843153fc0ac6',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x14',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y14'},
{'line': {'color': '#FFA15A', 'dash': 'solid'},
'name': 'M43 ',
'type': 'scatter',
'uid': '9591c564-82cd-45f1-944c-dada881f9f04',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x15',
'y': array([-0.95574, -0.96899, -0.96191, ..., -0.8796 , -0.87907, -0.87849]),
'yaxis': 'y15'},
{'line': {'color': '#FFA15A', 'dash': 'dash'},
'name': 'M43 theory',
'type': 'scatter',
'uid': '9b8a4dd3-d3b4-41b2-b0e2-a6d0f7dfb26b',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x15',
'y': array([-0.38749245, -0.44971578, -0.50863958, ..., -0.93935042, -0.93913858,
-0.93892669]),
'yaxis': 'y15'},
{'line': {'color': '#19D3F3', 'dash': 'solid'},
'name': 'M44 ',
'type': 'scatter',
'uid': '0b1498c4-b5a5-4793-b536-3743b1dc37b5',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x16',
'y': array([0.25821, 0.24432, 0.24986, ..., 0.16743, 0.15105, 0.16637]),
'yaxis': 'y16'},
{'line': {'color': '#19D3F3', 'dash': 'dash'},
'name': 'M44 theory',
'type': 'scatter',
'uid': '52842119-28c9-43a0-b7ec-b6e8d162d457',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x16',
'y': array([-0.78177026, -0.75168899, -0.71871123, ..., 0.20163327, 0.20156999,
0.20150625]),
'yaxis': 'y16'}],
'layout': {'template': '...',
'xaxis': {'anchor': 'y', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis10': {'anchor': 'y10', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis11': {'anchor': 'y11', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis12': {'anchor': 'y12', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis13': {'anchor': 'y13', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis14': {'anchor': 'y14', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis15': {'anchor': 'y15', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis16': {'anchor': 'y16', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis2': {'anchor': 'y2', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis3': {'anchor': 'y3', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis4': {'anchor': 'y4', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis5': {'anchor': 'y5', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis6': {'anchor': 'y6', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis7': {'anchor': 'y7', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis8': {'anchor': 'y8', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis9': {'anchor': 'y9', 'domain': [0.0, 0.2125], 'matches': 'x'},
'yaxis': {'anchor': 'x', 'domain': [0.80625, 1.0]},
'yaxis10': {'anchor': 'x10', 'domain': [0.26875, 0.4625]},
'yaxis11': {'anchor': 'x11', 'domain': [0.26875, 0.4625]},
'yaxis12': {'anchor': 'x12', 'domain': [0.26875, 0.4625]},
'yaxis13': {'anchor': 'x13', 'domain': [0.0, 0.19375]},
'yaxis14': {'anchor': 'x14', 'domain': [0.0, 0.19375]},
'yaxis15': {'anchor': 'x15', 'domain': [0.0, 0.19375]},
'yaxis16': {'anchor': 'x16', 'domain': [0.0, 0.19375]},
'yaxis2': {'anchor': 'x2', 'domain': [0.80625, 1.0]},
'yaxis3': {'anchor': 'x3', 'domain': [0.80625, 1.0]},
'yaxis4': {'anchor': 'x4', 'domain': [0.80625, 1.0]},
'yaxis5': {'anchor': 'x5', 'domain': [0.5375, 0.73125]},
'yaxis6': {'anchor': 'x6', 'domain': [0.5375, 0.73125]},
'yaxis7': {'anchor': 'x7', 'domain': [0.5375, 0.73125]},
'yaxis8': {'anchor': 'x8', 'domain': [0.5375, 0.73125]},
'yaxis9': {'anchor': 'x9', 'domain': [0.26875, 0.4625]}}
})
We can also plot the residual between measurement and model.
model.plot_residual()
FigureWidget({
'data': [{'line': {'color': '#636EFA', 'dash': 'solid'},
'name': 'M11 ',
'type': 'scatter',
'uid': 'e1ac1f89-0a37-42df-9efa-92ac85a5ea7d',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y'},
{'line': {'color': '#EF553B', 'dash': 'solid'},
'name': 'M12 ',
'type': 'scatter',
'uid': '08311f47-f04e-4de6-9fa0-04fd066cefdc',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x2',
'y': array([0.58002385, 0.59119998, 0.58045745, ..., 0.16502466, 0.16587253,
0.16486215]),
'yaxis': 'y2'},
{'line': {'color': '#00CC96', 'dash': 'solid'},
'name': 'M13 ',
'type': 'scatter',
'uid': '79720d2f-0214-457c-a2c8-131d3900951e',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x3',
'y': array([ 0.01241, 0.01151, 0.00694, ..., -0.00887, 0.00646, -0.0117 ]),
'yaxis': 'y3'},
{'line': {'color': '#AB63FA', 'dash': 'solid'},
'name': 'M14 ',
'type': 'scatter',
'uid': '9687c2ca-9817-4420-bf35-ea9051a71f66',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x4',
'y': array([ 0.00614, 0.00901, 0.00475, ..., -0.00626, 0.0061 , -0.0055 ]),
'yaxis': 'y4'},
{'line': {'color': '#FFA15A', 'dash': 'solid'},
'name': 'M21 ',
'type': 'scatter',
'uid': '8f6b2fe2-5b29-4997-a810-951f022c0553',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x5',
'y': array([0.58460385, 0.57994998, 0.58167745, ..., 0.16281466, 0.16307253,
0.16240215]),
'yaxis': 'y5'},
{'line': {'color': '#19D3F3', 'dash': 'solid'},
'name': 'M22 ',
'type': 'scatter',
'uid': '9cb4b75d-8fa2-4c17-ab25-ce3d59f7c039',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x6',
'y': array([0.00574, 0.00525, 0.00363, ..., 0.00277, 0.00339, 0.00394]),
'yaxis': 'y6'},
{'line': {'color': '#FF6692', 'dash': 'solid'},
'name': 'M23 ',
'type': 'scatter',
'uid': 'c9b811cf-9587-4697-95f3-e8094da059de',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x7',
'y': array([ 0.00364, 0.00427, 0.00207, ..., 0.00457, -0.00234, 0.00653]),
'yaxis': 'y7'},
{'line': {'color': '#B6E880', 'dash': 'solid'},
'name': 'M24 ',
'type': 'scatter',
'uid': '08751949-de01-4c8e-8366-eb7b1bcd8bd2',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x8',
'y': array([-0.01084, 0.00325, -0.01123, ..., 0.00263, -0.00227, 0.00311]),
'yaxis': 'y8'},
{'line': {'color': '#FF97FF', 'dash': 'solid'},
'name': 'M31 ',
'type': 'scatter',
'uid': 'bfb6a1e3-ee1c-44dd-b4bc-66ba64aedc70',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x9',
'y': array([ 0.00278, 0.00634, 0.00219, ..., -0.00055, 0.00105, -0.00037]),
'yaxis': 'y9'},
{'line': {'color': '#FECB52', 'dash': 'solid'},
'name': 'M32 ',
'type': 'scatter',
'uid': '7e0c4c4f-3f63-4c70-99f6-9333410b1c1a',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x10',
'y': array([ 0.00212, 0.00045, -0.0003 , ..., 0.0018 , 0.00042, -0.00037]),
'yaxis': 'y10'},
{'line': {'color': '#636EFA', 'dash': 'solid'},
'name': 'M33 ',
'type': 'scatter',
'uid': 'ffeaf644-9c2b-41a7-9e18-208dab3d30fd',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x11',
'y': array([-1.05460026, -1.01894899, -0.99151123, ..., 0.03927327, 0.03885999,
0.03895625]),
'yaxis': 'y11'},
{'line': {'color': '#EF553B', 'dash': 'solid'},
'name': 'M34 ',
'type': 'scatter',
'uid': 'c36b04c0-b9d4-4f78-b70c-16fecc4bc0c4',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x12',
'y': array([-0.56805755, -0.51478422, -0.44957042, ..., 0.06223042, 0.06284858,
0.06231669]),
'yaxis': 'y12'},
{'line': {'color': '#00CC96', 'dash': 'solid'},
'name': 'M41 ',
'type': 'scatter',
'uid': '12ae6dee-15a2-4cfc-8c76-9c16991b6889',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x13',
'y': array([-0.00986, -0.00917, -0.00712, ..., 0.00585, -0.00882, 0.00692]),
'yaxis': 'y13'},
{'line': {'color': '#AB63FA', 'dash': 'solid'},
'name': 'M42 ',
'type': 'scatter',
'uid': '8ec1e564-5501-439f-97e8-8719f3aed425',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x14',
'y': array([-0.00048, -0.01319, -0.00891, ..., 0.01388, -0.00424, 0.0126 ]),
'yaxis': 'y14'},
{'line': {'color': '#FFA15A', 'dash': 'solid'},
'name': 'M43 ',
'type': 'scatter',
'uid': '276be03c-36c3-4a7d-a4e3-e295ae597503',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x15',
'y': array([ 0.56824755, 0.51927422, 0.45327042, ..., -0.05975042, -0.06006858,
-0.06043669]),
'yaxis': 'y15'},
{'line': {'color': '#19D3F3', 'dash': 'solid'},
'name': 'M44 ',
'type': 'scatter',
'uid': '62583f26-6458-46c0-8106-5a7fe5c540d3',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x16',
'y': array([-1.03998026, -0.99600899, -0.96857123, ..., 0.03420327, 0.05051999,
0.03513625]),
'yaxis': 'y16'}],
'layout': {'template': '...',
'xaxis': {'anchor': 'y', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis10': {'anchor': 'y10', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis11': {'anchor': 'y11', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis12': {'anchor': 'y12', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis13': {'anchor': 'y13', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis14': {'anchor': 'y14', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis15': {'anchor': 'y15', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis16': {'anchor': 'y16', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis2': {'anchor': 'y2', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis3': {'anchor': 'y3', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis4': {'anchor': 'y4', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis5': {'anchor': 'y5', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis6': {'anchor': 'y6', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis7': {'anchor': 'y7', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis8': {'anchor': 'y8', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis9': {'anchor': 'y9', 'domain': [0.0, 0.2125], 'matches': 'x'},
'yaxis': {'anchor': 'x', 'domain': [0.80625, 1.0]},
'yaxis10': {'anchor': 'x10', 'domain': [0.26875, 0.4625]},
'yaxis11': {'anchor': 'x11', 'domain': [0.26875, 0.4625]},
'yaxis12': {'anchor': 'x12', 'domain': [0.26875, 0.4625]},
'yaxis13': {'anchor': 'x13', 'domain': [0.0, 0.19375]},
'yaxis14': {'anchor': 'x14', 'domain': [0.0, 0.19375]},
'yaxis15': {'anchor': 'x15', 'domain': [0.0, 0.19375]},
'yaxis16': {'anchor': 'x16', 'domain': [0.0, 0.19375]},
'yaxis2': {'anchor': 'x2', 'domain': [0.80625, 1.0]},
'yaxis3': {'anchor': 'x3', 'domain': [0.80625, 1.0]},
'yaxis4': {'anchor': 'x4', 'domain': [0.80625, 1.0]},
'yaxis5': {'anchor': 'x5', 'domain': [0.5375, 0.73125]},
'yaxis6': {'anchor': 'x6', 'domain': [0.5375, 0.73125]},
'yaxis7': {'anchor': 'x7', 'domain': [0.5375, 0.73125]},
'yaxis8': {'anchor': 'x8', 'domain': [0.5375, 0.73125]},
'yaxis9': {'anchor': 'x9', 'domain': [0.26875, 0.4625]}}
})
Now we execute a fit and plot the model afterwards.
fit_stats = model.fit()
model.plot(full_scale=False)
FigureWidget({
'data': [{'line': {'color': '#636EFA', 'dash': 'solid'},
'name': 'M11 ',
'type': 'scatter',
'uid': 'a704587b-5356-4fe3-b2e2-50d3d1e9e3d3',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x',
'y': array([1., 1., 1., ..., 1., 1., 1.]),
'yaxis': 'y'},
{'line': {'color': '#636EFA', 'dash': 'dash'},
'name': 'M11 theory',
'type': 'scatter',
'uid': '89fe7456-7ea5-45a5-b372-12383cca1011',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x',
'y': array([1., 1., 1., ..., 1., 1., 1.]),
'yaxis': 'y'},
{'line': {'color': '#EF553B', 'dash': 'solid'},
'name': 'M12 ',
'type': 'scatter',
'uid': '1577e7bc-9cfa-4006-8747-1fec58183a0b',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x2',
'y': array([-0.09147, -0.10879, -0.10639, ..., -0.44245, -0.44406, -0.44381]),
'yaxis': 'y2'},
{'line': {'color': '#EF553B', 'dash': 'dash'},
'name': 'M12 theory',
'type': 'scatter',
'uid': 'a991757b-79c7-47ab-86ed-bbfcebbb0f8e',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x2',
'y': array([-0.09081776, -0.09659845, -0.10218436, ..., -0.44726608, -0.44776779,
-0.44826863]),
'yaxis': 'y2'},
{'line': {'color': '#00CC96', 'dash': 'solid'},
'name': 'M13 ',
'type': 'scatter',
'uid': 'f1d0fa65-7e44-4661-b8de-e819044111e5',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x3',
'y': array([-0.01241, -0.01151, -0.00694, ..., 0.00887, -0.00646, 0.0117 ]),
'yaxis': 'y3'},
{'line': {'color': '#00CC96', 'dash': 'dash'},
'name': 'M13 theory',
'type': 'scatter',
'uid': '06ff4d48-8365-4339-bc58-5a8bf9acd197',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x3',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y3'},
{'line': {'color': '#AB63FA', 'dash': 'solid'},
'name': 'M14 ',
'type': 'scatter',
'uid': 'bc5a406a-2ec1-4c00-9e34-4e64f49a2583',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x4',
'y': array([-0.00614, -0.00901, -0.00475, ..., 0.00626, -0.0061 , 0.0055 ]),
'yaxis': 'y4'},
{'line': {'color': '#AB63FA', 'dash': 'dash'},
'name': 'M14 theory',
'type': 'scatter',
'uid': 'ab052781-d65b-4b68-baa6-89262b6b6575',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x4',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y4'},
{'line': {'color': '#FFA15A', 'dash': 'solid'},
'name': 'M21 ',
'type': 'scatter',
'uid': 'ae07d8b9-5e7c-41f9-ae04-d98b30af722c',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x5',
'y': array([-0.09605, -0.09754, -0.10761, ..., -0.44024, -0.44126, -0.44135]),
'yaxis': 'y5'},
{'line': {'color': '#FFA15A', 'dash': 'dash'},
'name': 'M21 theory',
'type': 'scatter',
'uid': '751d3a01-c42e-40f1-bf43-d86ada584fd6',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x5',
'y': array([-0.09081776, -0.09659845, -0.10218436, ..., -0.44726608, -0.44776779,
-0.44826863]),
'yaxis': 'y5'},
{'line': {'color': '#19D3F3', 'dash': 'solid'},
'name': 'M22 ',
'type': 'scatter',
'uid': 'ec953e6e-c004-488a-a9e4-ae26b4423aa3',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x6',
'y': array([0.99426, 0.99475, 0.99637, ..., 0.99723, 0.99661, 0.99606]),
'yaxis': 'y6'},
{'line': {'color': '#19D3F3', 'dash': 'dash'},
'name': 'M22 theory',
'type': 'scatter',
'uid': 'e4cd385e-270f-4951-a4b9-ea1a395f0dd0',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x6',
'y': array([1., 1., 1., ..., 1., 1., 1.]),
'yaxis': 'y6'},
{'line': {'color': '#FF6692', 'dash': 'solid'},
'name': 'M23 ',
'type': 'scatter',
'uid': '61e1e0d1-5a38-457f-ac4f-682e2baba442',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x7',
'y': array([-0.00364, -0.00427, -0.00207, ..., -0.00457, 0.00234, -0.00653]),
'yaxis': 'y7'},
{'line': {'color': '#FF6692', 'dash': 'dash'},
'name': 'M23 theory',
'type': 'scatter',
'uid': 'd8550f6f-2fbd-4dff-b4fc-40860c7393d9',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x7',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y7'},
{'line': {'color': '#B6E880', 'dash': 'solid'},
'name': 'M24 ',
'type': 'scatter',
'uid': '3175c272-02a4-4f25-b0e1-7b02f1d75cc7',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x8',
'y': array([ 0.01084, -0.00325, 0.01123, ..., -0.00263, 0.00227, -0.00311]),
'yaxis': 'y8'},
{'line': {'color': '#B6E880', 'dash': 'dash'},
'name': 'M24 theory',
'type': 'scatter',
'uid': '22516f5b-5368-4633-8297-f5b32e4a0295',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x8',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y8'},
{'line': {'color': '#FF97FF', 'dash': 'solid'},
'name': 'M31 ',
'type': 'scatter',
'uid': '101a6fb0-399e-465a-a9a9-2134c6307d42',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x9',
'y': array([-0.00278, -0.00634, -0.00219, ..., 0.00055, -0.00105, 0.00037]),
'yaxis': 'y9'},
{'line': {'color': '#FF97FF', 'dash': 'dash'},
'name': 'M31 theory',
'type': 'scatter',
'uid': '8781e36b-6ec6-414a-9a0c-09b163c899ba',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x9',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y9'},
{'line': {'color': '#FECB52', 'dash': 'solid'},
'name': 'M32 ',
'type': 'scatter',
'uid': '65b4cb7c-08a6-4f06-942f-be6eeeb391c4',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x10',
'y': array([-0.00212, -0.00045, 0.0003 , ..., -0.0018 , -0.00042, 0.00037]),
'yaxis': 'y10'},
{'line': {'color': '#FECB52', 'dash': 'dash'},
'name': 'M32 theory',
'type': 'scatter',
'uid': '628ca2de-6a29-4e4a-841d-68f7b4d0c512',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x10',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y10'},
{'line': {'color': '#636EFA', 'dash': 'solid'},
'name': 'M33 ',
'type': 'scatter',
'uid': '2738655a-8fb4-44cc-933e-8e50ae7c4ef0',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x11',
'y': array([0.27283, 0.26726, 0.2728 , ..., 0.16236, 0.16271, 0.16255]),
'yaxis': 'y11'},
{'line': {'color': '#636EFA', 'dash': 'dash'},
'name': 'M33 theory',
'type': 'scatter',
'uid': '0d936fca-8cb4-4b2f-a98c-4ec1c4335d0c',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x11',
'y': array([0.28633493, 0.28495866, 0.28318747, ..., 0.15873433, 0.1585769 ,
0.15841941]),
'yaxis': 'y11'},
{'line': {'color': '#EF553B', 'dash': 'solid'},
'name': 'M34 ',
'type': 'scatter',
'uid': '31161f95-44d7-4dac-9db4-4021933891a3',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x12',
'y': array([0.95555, 0.9645 , 0.95821, ..., 0.87712, 0.87629, 0.87661]),
'yaxis': 'y12'},
{'line': {'color': '#EF553B', 'dash': 'dash'},
'name': 'M34 theory',
'type': 'scatter',
'uid': 'fbcdf3d8-15e3-4709-83f5-460824a9a8d2',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x12',
'y': array([0.95381573, 0.95365995, 0.95360538, ..., 0.88020251, 0.87997578,
0.87974912]),
'yaxis': 'y12'},
{'line': {'color': '#00CC96', 'dash': 'solid'},
'name': 'M41 ',
'type': 'scatter',
'uid': '1cc480cd-9f3b-4e3c-9f29-4d1b0d3194b9',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x13',
'y': array([ 0.00986, 0.00917, 0.00712, ..., -0.00585, 0.00882, -0.00692]),
'yaxis': 'y13'},
{'line': {'color': '#00CC96', 'dash': 'dash'},
'name': 'M41 theory',
'type': 'scatter',
'uid': '139d3494-2ddf-4434-beba-303fca9e5f1d',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x13',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y13'},
{'line': {'color': '#AB63FA', 'dash': 'solid'},
'name': 'M42 ',
'type': 'scatter',
'uid': '6b1ba356-5e97-480e-9697-67503fbabdfe',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x14',
'y': array([ 0.00048, 0.01319, 0.00891, ..., -0.01388, 0.00424, -0.0126 ]),
'yaxis': 'y14'},
{'line': {'color': '#AB63FA', 'dash': 'dash'},
'name': 'M42 theory',
'type': 'scatter',
'uid': 'a9f4de44-fd7f-4dd6-87ab-a2780147b723',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x14',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y14'},
{'line': {'color': '#FFA15A', 'dash': 'solid'},
'name': 'M43 ',
'type': 'scatter',
'uid': '9c55c6c8-71c8-47e0-a581-7e99833a8016',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x15',
'y': array([-0.95574, -0.96899, -0.96191, ..., -0.8796 , -0.87907, -0.87849]),
'yaxis': 'y15'},
{'line': {'color': '#FFA15A', 'dash': 'dash'},
'name': 'M43 theory',
'type': 'scatter',
'uid': 'fdcfe819-f7bb-4774-8fae-dd1c2a7a5948',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x15',
'y': array([-0.95381573, -0.95365995, -0.95360538, ..., -0.88020251, -0.87997578,
-0.87974912]),
'yaxis': 'y15'},
{'line': {'color': '#19D3F3', 'dash': 'solid'},
'name': 'M44 ',
'type': 'scatter',
'uid': 'f3bf8ec2-8b96-4b9b-9e59-260d83e257d9',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x16',
'y': array([0.25821, 0.24432, 0.24986, ..., 0.16743, 0.15105, 0.16637]),
'yaxis': 'y16'},
{'line': {'color': '#19D3F3', 'dash': 'dash'},
'name': 'M44 theory',
'type': 'scatter',
'uid': 'f05cdc23-895d-4108-8ba2-0ef18753e3ea',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x16',
'y': array([0.28633493, 0.28495866, 0.28318747, ..., 0.15873433, 0.1585769 ,
0.15841941]),
'yaxis': 'y16'}],
'layout': {'template': '...',
'xaxis': {'anchor': 'y', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis10': {'anchor': 'y10', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis11': {'anchor': 'y11', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis12': {'anchor': 'y12', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis13': {'anchor': 'y13', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis14': {'anchor': 'y14', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis15': {'anchor': 'y15', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis16': {'anchor': 'y16', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis2': {'anchor': 'y2', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis3': {'anchor': 'y3', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis4': {'anchor': 'y4', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis5': {'anchor': 'y5', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis6': {'anchor': 'y6', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis7': {'anchor': 'y7', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis8': {'anchor': 'y8', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis9': {'anchor': 'y9', 'domain': [0.0, 0.2125], 'matches': 'x'},
'yaxis': {'anchor': 'x', 'domain': [0.80625, 1.0]},
'yaxis10': {'anchor': 'x10', 'domain': [0.26875, 0.4625]},
'yaxis11': {'anchor': 'x11', 'domain': [0.26875, 0.4625]},
'yaxis12': {'anchor': 'x12', 'domain': [0.26875, 0.4625]},
'yaxis13': {'anchor': 'x13', 'domain': [0.0, 0.19375]},
'yaxis14': {'anchor': 'x14', 'domain': [0.0, 0.19375]},
'yaxis15': {'anchor': 'x15', 'domain': [0.0, 0.19375]},
'yaxis16': {'anchor': 'x16', 'domain': [0.0, 0.19375]},
'yaxis2': {'anchor': 'x2', 'domain': [0.80625, 1.0]},
'yaxis3': {'anchor': 'x3', 'domain': [0.80625, 1.0]},
'yaxis4': {'anchor': 'x4', 'domain': [0.80625, 1.0]},
'yaxis5': {'anchor': 'x5', 'domain': [0.5375, 0.73125]},
'yaxis6': {'anchor': 'x6', 'domain': [0.5375, 0.73125]},
'yaxis7': {'anchor': 'x7', 'domain': [0.5375, 0.73125]},
'yaxis8': {'anchor': 'x8', 'domain': [0.5375, 0.73125]},
'yaxis9': {'anchor': 'x9', 'domain': [0.26875, 0.4625]}}
})
For comparison we plot the residual again to have a figure of merit for the fit quality
model.plot_residual()
FigureWidget({
'data': [{'line': {'color': '#636EFA', 'dash': 'solid'},
'name': 'M11 ',
'type': 'scatter',
'uid': 'fc9ee090-aca8-4638-b692-d41a041201f7',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x',
'y': array([0., 0., 0., ..., 0., 0., 0.]),
'yaxis': 'y'},
{'line': {'color': '#EF553B', 'dash': 'solid'},
'name': 'M12 ',
'type': 'scatter',
'uid': '9c12ce9f-07df-4e5f-9add-831ebdb3511e',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x2',
'y': array([ 0.00065224, 0.01219155, 0.00420564, ..., -0.00481608, -0.00370779,
-0.00445863]),
'yaxis': 'y2'},
{'line': {'color': '#00CC96', 'dash': 'solid'},
'name': 'M13 ',
'type': 'scatter',
'uid': '8835769d-8476-49d1-82d3-c333ed467858',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x3',
'y': array([ 0.01241, 0.01151, 0.00694, ..., -0.00887, 0.00646, -0.0117 ]),
'yaxis': 'y3'},
{'line': {'color': '#AB63FA', 'dash': 'solid'},
'name': 'M14 ',
'type': 'scatter',
'uid': '32cb4199-ad2b-4f39-853c-a9b12caf0c99',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x4',
'y': array([ 0.00614, 0.00901, 0.00475, ..., -0.00626, 0.0061 , -0.0055 ]),
'yaxis': 'y4'},
{'line': {'color': '#FFA15A', 'dash': 'solid'},
'name': 'M21 ',
'type': 'scatter',
'uid': '8f452259-30f5-4e94-adc4-f8b2b4f97181',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x5',
'y': array([ 0.00523224, 0.00094155, 0.00542564, ..., -0.00702608, -0.00650779,
-0.00691863]),
'yaxis': 'y5'},
{'line': {'color': '#19D3F3', 'dash': 'solid'},
'name': 'M22 ',
'type': 'scatter',
'uid': '7b5fc835-9016-4987-bbee-bf926290b7c9',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x6',
'y': array([0.00574, 0.00525, 0.00363, ..., 0.00277, 0.00339, 0.00394]),
'yaxis': 'y6'},
{'line': {'color': '#FF6692', 'dash': 'solid'},
'name': 'M23 ',
'type': 'scatter',
'uid': 'c802edfc-40c6-4335-b60e-12c01a1dea26',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x7',
'y': array([ 0.00364, 0.00427, 0.00207, ..., 0.00457, -0.00234, 0.00653]),
'yaxis': 'y7'},
{'line': {'color': '#B6E880', 'dash': 'solid'},
'name': 'M24 ',
'type': 'scatter',
'uid': '1effc665-008a-4042-a1b5-fd077b472e84',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x8',
'y': array([-0.01084, 0.00325, -0.01123, ..., 0.00263, -0.00227, 0.00311]),
'yaxis': 'y8'},
{'line': {'color': '#FF97FF', 'dash': 'solid'},
'name': 'M31 ',
'type': 'scatter',
'uid': '69ed6e2e-43b1-4e69-8159-ea8ae4d87199',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x9',
'y': array([ 0.00278, 0.00634, 0.00219, ..., -0.00055, 0.00105, -0.00037]),
'yaxis': 'y9'},
{'line': {'color': '#FECB52', 'dash': 'solid'},
'name': 'M32 ',
'type': 'scatter',
'uid': 'b11c5724-ab15-40bf-b1e8-0d5e425b6c12',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x10',
'y': array([ 0.00212, 0.00045, -0.0003 , ..., 0.0018 , 0.00042, -0.00037]),
'yaxis': 'y10'},
{'line': {'color': '#636EFA', 'dash': 'solid'},
'name': 'M33 ',
'type': 'scatter',
'uid': '51f10c4a-7008-4a67-ad69-d1fe8eb4704e',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x11',
'y': array([ 0.01350493, 0.01769866, 0.01038747, ..., -0.00362567, -0.0041331 ,
-0.00413059]),
'yaxis': 'y11'},
{'line': {'color': '#EF553B', 'dash': 'solid'},
'name': 'M34 ',
'type': 'scatter',
'uid': 'ca481221-cdb2-4115-ae17-30208decca22',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x12',
'y': array([-0.00173427, -0.01084005, -0.00460462, ..., 0.00308251, 0.00368578,
0.00313912]),
'yaxis': 'y12'},
{'line': {'color': '#00CC96', 'dash': 'solid'},
'name': 'M41 ',
'type': 'scatter',
'uid': '635adf23-6afd-422d-ad74-6f8335d7da0d',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x13',
'y': array([-0.00986, -0.00917, -0.00712, ..., 0.00585, -0.00882, 0.00692]),
'yaxis': 'y13'},
{'line': {'color': '#AB63FA', 'dash': 'solid'},
'name': 'M42 ',
'type': 'scatter',
'uid': 'e374146f-a030-49f8-a4ec-ce8251677b5b',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x14',
'y': array([-0.00048, -0.01319, -0.00891, ..., 0.01388, -0.00424, 0.0126 ]),
'yaxis': 'y14'},
{'line': {'color': '#FFA15A', 'dash': 'solid'},
'name': 'M43 ',
'type': 'scatter',
'uid': 'f40ee08a-a6de-4da4-92f3-1fe81dae8409',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x15',
'y': array([ 0.00192427, 0.01533005, 0.00830462, ..., -0.00060251, -0.00090578,
-0.00125912]),
'yaxis': 'y15'},
{'line': {'color': '#19D3F3', 'dash': 'solid'},
'name': 'M44 ',
'type': 'scatter',
'uid': '7bdff97d-3a53-4e30-9c34-0d6fafd4d211',
'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528]),
'xaxis': 'x16',
'y': array([ 0.02812493, 0.04063866, 0.03332747, ..., -0.00869567, 0.0075269 ,
-0.00795059]),
'yaxis': 'y16'}],
'layout': {'template': '...',
'xaxis': {'anchor': 'y', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis10': {'anchor': 'y10', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis11': {'anchor': 'y11', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis12': {'anchor': 'y12', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis13': {'anchor': 'y13', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis14': {'anchor': 'y14', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis15': {'anchor': 'y15', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis16': {'anchor': 'y16', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis2': {'anchor': 'y2', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis3': {'anchor': 'y3', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis4': {'anchor': 'y4', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis5': {'anchor': 'y5', 'domain': [0.0, 0.2125], 'matches': 'x'},
'xaxis6': {'anchor': 'y6', 'domain': [0.2625, 0.475], 'matches': 'x'},
'xaxis7': {'anchor': 'y7', 'domain': [0.525, 0.7375], 'matches': 'x'},
'xaxis8': {'anchor': 'y8', 'domain': [0.7875, 1.0], 'matches': 'x'},
'xaxis9': {'anchor': 'y9', 'domain': [0.0, 0.2125], 'matches': 'x'},
'yaxis': {'anchor': 'x', 'domain': [0.80625, 1.0]},
'yaxis10': {'anchor': 'x10', 'domain': [0.26875, 0.4625]},
'yaxis11': {'anchor': 'x11', 'domain': [0.26875, 0.4625]},
'yaxis12': {'anchor': 'x12', 'domain': [0.26875, 0.4625]},
'yaxis13': {'anchor': 'x13', 'domain': [0.0, 0.19375]},
'yaxis14': {'anchor': 'x14', 'domain': [0.0, 0.19375]},
'yaxis15': {'anchor': 'x15', 'domain': [0.0, 0.19375]},
'yaxis16': {'anchor': 'x16', 'domain': [0.0, 0.19375]},
'yaxis2': {'anchor': 'x2', 'domain': [0.80625, 1.0]},
'yaxis3': {'anchor': 'x3', 'domain': [0.80625, 1.0]},
'yaxis4': {'anchor': 'x4', 'domain': [0.80625, 1.0]},
'yaxis5': {'anchor': 'x5', 'domain': [0.5375, 0.73125]},
'yaxis6': {'anchor': 'x6', 'domain': [0.5375, 0.73125]},
'yaxis7': {'anchor': 'x7', 'domain': [0.5375, 0.73125]},
'yaxis8': {'anchor': 'x8', 'domain': [0.5375, 0.73125]},
'yaxis9': {'anchor': 'x9', 'domain': [0.26875, 0.4625]}}
})
We may also print the fit statistics.
fit_stats
References
Here you can find the latest jupyter notebook and data files of this example.
Total running time of the script: (0 minutes 24.448 seconds)