I have some data and I fitted it with a Gaussian fit. I now want to return some useful information from the plot: peak, base, $R^2$ (or the equivalent for a nonlinear fit), width at half-max, max y-value. The catch is that I want to show this information as a legend next to or on top of the graph, if possible. How do I do this after I've already plotted the data?
data = {{12.`, 178.`}, {13.`, 185.`}, {14.`, 198.`}, {15.`,
174.`}, {16.`, 204.`}, {17.`, 218.`}, {18.`, 227.`}, {19.`,
242.`}, {20.`, 215.`}, {21.`, 219.`}, {22.`, 216.`}, {23.`,
193.`}, {24.`, 198.`}, {25.`, 213.`}, {26.`, 232.`}, {27.`,
192.`}, {28.`, 220.`}, {29.`, 207.`}, {30.`, 202.`}, {31.`,
246.`}, {32.`, 249.`}, {33.`, 287.`}, {34.`, 354.`}, {35.`,
465.`}, {35.333`, 520.`}, {35.666`, 472.`}, {36.`,
582.`}, {36.333`, 530.`}, {36.666`, 598.`}, {37.`,
521.`}, {37.333`, 521.`}, {37.666`, 553.`}, {38.`,
548.`}, {38.333`, 504.`}, {38.666`, 526.`}, {39.`,
535.`}, {39.333`, 489.`}, {39.666`, 521.`}, {40.`,
510.`}, {40.333`, 497.`}, {40.666`, 410.`}, {41.`,
303.`}, {41.333`, 323.`}, {41.666`, 315.`}, {42.`,
335.`}, {42.333`, 348.`}, {42.666`, 377.`}, {43.`,
420.`}, {43.333`, 401.`}, {43.666`, 411.`}, {44.`,
475.`}, {44.166`, 628.`}, {44.333`, 749.`}, {44.333`,
727.01`}, {44.5`, 837.`}, {44.666`, 906.`}, {44.666`,
986.`}, {44.866`, 1014.`}, {45.`, 804.`}, {45.`, 881.`}, {45.166`,
581.`}, {45.333`, 275.`}, {45.333`, 329.`}, {45.5`,
279.`}, {45.666`, 236.`}, {45.666`, 256.`}, {46.`, 291.`}, {47.`,
278.`}, {48.`, 251.`}, {49.`, 278.`}, {50.`, 280.`}, {51.`,
285.`}, {52.`, 257.`}, {53.`, 269.`}, {54.`, 255.`}, {55.`,
279.`}, {56.`, 262.`}, {57.`, 261.`}, {58.`, 235.`}, {59.`,
263.`}, {60.`, 271.`}, {61.`, 270.`}, {62.`, 272.`}, {63.`,
246.`}, {64.`, 237.`}, {65.`, 261.`}, {66.`, 243.`}, {67.`,
255.`}, {68.`, 278.`}, {69.`, 294.`}, {70.`, 236.`}, {71.`,
263.`}, {72.`, 260.`}, {73.`, 281.`}, {74.`, 294.`}, {75.`,
264.`}, {76.`, 279.`}, {76.333`, 272.`}, {76.666`, 258.`}, {77.`,
282.`}, {77.333`, 262.`}, {77.666`, 279.`}, {78.`,
272.`}, {78.333`, 284.`}, {78.666`, 262.`}, {79.`,
265.`}, {79.333`, 284.`}, {79.666`, 277.`}, {80.`,
292.`}, {80.333`, 286.`}, {80.666`, 290.`}, {81.`, 266.`}, {82.`,
280.`}, {83.`, 274.`}, {84.`, 282.`}, {85.`, 294.`}, {86.`,
275.`}, {87.`, 332.`}, {87.333`, 291.`}, {87.666`, 295.`}, {88.`,
307.`}, {88.166`, 248.`}, {88.333`, 285.`}, {88.5`,
269.`}, {88.666`, 269.`}, {88.833`, 254.`}, {89.`,
298.`}, {89.166`, 286.`}, {89.5`, 275.`}, {89.666`,
280.`}, {89.833`, 295.`}, {90.`, 274.`}, {90.166`,
281.`}, {90.333`, 252.`}, {90.5`, 290.`}, {90.666`,
306.`}, {90.833`, 287.`}, {91.`, 293.`}, {91.333`,
304.`}, {91.666`, 329.`}, {92.`, 301.`}, {93.`, 301.`}, {94.`,
305.`}, {95.`, 285.`}, {96.`, 313.`}, {97.`, 297.`}, {98.`,
316.`}, {99.`, 348.`}, {99.333`, 394.`}, {99.666`, 374.`}, {100.`,
404.`}, {100.33`, 315.`}, {100.67`, 316.`}, {101.`,
280.`}, {102.`, 322.`}, {103.`, 285.`}, {104.`, 265.`}, {105.`,
295.`}, {106.`, 296.`}, {107.`, 259.`}, {108.`, 297.`}, {109.`,
297.`}, {110.`, 295.`}, {111.`, 304.`}, {112.`, 267.`}, {113.`,
275.`}, {114.`, 300.`}, {115.`, 321.`}, {116.`, 283.`}, {117.`,
283.`}, {118.`, 309.`}, {119.`, 310.`}, {120.`, 297.`}, {121.`,
300.`}, {122.`, 326.`}};
in1 = 43; fin1 = 47;
data2 = Select[data, (in1 < #[[1]] < fin1) &];
ListPlot[data2]
model[x_] =
ampl Evaluate[PDF[NormalDistribution[x0, sigma], x]] + base;
fit = FindFit[data2,
model[x], {{ampl, 1000}, {x0, 44}, {sigma, 1}, {base, 200}}, x,
MaxIterations -> 10000]
Show[ListPlot[data1], Plot[model[x] /. fit, {x, in1, fin1}, PlotStyle -> Red]]
Output:


