10
0
mirror of https://github.com/LCPQ/QUESTDB_website.git synced 2024-07-23 11:17:42 +02:00

Improve statistics table

This commit is contained in:
Mickaël Véril 2020-02-20 14:42:40 +01:00
parent c5208d13b5
commit 0714161047

View File

@ -268,71 +268,67 @@ draft: false
key.shift()
Reflect.setPrototypeOf(key[0], method.prototype)
//Reflect.setPrototypeOf(key[1], DOI.prototype)
for (const [i, el] of key.entries()) {
var td = $("<th/>",{scope:"column"})
if (i === 1) {
var publi = doiCache.get(el, true)
const sets = await getSets()
if (sets.has(el)) {
var str = sets.get(el)
$(td).append(str+ " ")
}
$("<a/>", {
href: new DOI(el).url,
target: "_blank"
}).html(publi.format('citation', {
format: 'html',
lang: 'en-US'
})).appendTo(td)
}
else {
$(td).text(el)
}
$(row).append(td)
th = $("<th/>", { scope: "column" })
const [meth, doi] = key
th.clone().text(meth.toString("\n").split('-').join('\u2011')).appendTo(row)
var thdoi = th.clone()
var publi = doiCache.get(doi, true)
const sets = await getSets()
if (sets.has(doi)) {
var str = sets.get(doi)
$(thdoi).append(str + " ")
}
const noNanVals = (vals.every((v) => Number.isNaN(v))) ? vals : (vals.filter((v) => !Number.isNaN(v)))
const avals = noNanVals.map(v => Math.abs(v))
for (const val of [ss.min(noNanVals), ss.max(noNanVals), ss.mean(noNanVals), ss.mean(avals), ss.median(noNanVals), ss.median(avals), ss.rootMeanSquare(noNanVals), ss.variance(noNanVals), ss.standardDeviation(noNanVals)]) {
$("<td/>").text(noNanFixed(val, 2)).appendTo(row)
$("<a/>", {
href: new DOI(doi).url,
target: "_blank"
}).html(publi.format('citation', {
format: 'html',
lang: 'en-US'
})).appendTo(thdoi)
$(row).append(thdoi)
const noNanVals = (vals.every((v) => Number.isNaN(v))) ? vals : (vals.filter((v) => !Number.isNaN(v)))
const avals = noNanVals.map(v => Math.abs(v))
for (const val of [ss.min(noNanVals), ss.max(noNanVals), ss.mean(noNanVals), ss.mean(avals), ss.median(noNanVals), ss.median(avals), ss.rootMeanSquare(noNanVals), ss.variance(noNanVals), ss.standardDeviation(noNanVals)]) {
$("<td/>").text(noNanFixed(val, 2)).appendTo(row)
}
$(stb).append(row)
var box = {
x: noNanVals,
amean: ss.mean(avals).toFixed(3),
name: key[0].toString() + " MAD : " + ss.mean(avals).toPrecision(4),
type: 'box',
boxmean: 'sd'
};
graphdat.push(box)
}
var layout = {
paper_bgcolor: 'rgba(0,0,0,0)',
plot_bgcolor: 'rgba(0,0,0,0)',
gap: 0,
legend: {
traceorder: 'reversed',
},
xaxis: {
title: {
text: 'Energy (eV)',
}
$(stb).append(row)
var box = {
x: noNanVals,
amean: ss.mean(avals).toFixed(3),
name: key[0].toString() + " MAD : " + ss.mean(avals).toPrecision(4),
type: 'box',
boxmean: 'sd'
};
graphdat.push(box)
}
var layout = {
paper_bgcolor: 'rgba(0,0,0,0)',
plot_bgcolor: 'rgba(0,0,0,0)',
gap: 0,
legend: {
traceorder: 'reversed',
},
xaxis: {
title: {
text: 'Energy (eV)',
}
},
bgcolor: '#E2E2E2',
bordercolor: '#FFFFFF',
borderwidth: 2,
// autosize: false,
width: 850,
height: 500,
margin: {
l: 0,
r: 10,
b: 15,
t: 20,
pad: 0,
},
}
Plotly.newPlot('graph_div', graphdat, layout);
processingIndicator.isActive = false
},
bgcolor: '#E2E2E2',
bordercolor: '#FFFFFF',
borderwidth: 2,
// autosize: false,
width: 850,
height: 500,
margin: {
l: 0,
r: 10,
b: 15,
t: 20,
pad: 0,
},
}
Plotly.newPlot('graph_div', graphdat, layout);
processingIndicator.isActive = false
}
async function reloadContent() {
window.filterParams = [$("#cb_unsafe").prop("checked"), Array.from(Array.from($("#cb_exTypeList>li>input[type=checkbox]:checked")).map(el => parseInt(el.value))).reduce((pv, cv) => pv + cv, 0), Array.from(Array.from($("#cb_exVertKindList>li>input[type=checkbox]:checked")).map(el => parseInt(el.value))).reduce((pv, cv) => pv + cv, 0)]
@ -399,7 +395,7 @@ draft: false
var head = $("<tr/>")
$("<thead/>").addClass("sticky").append(head).appendTo(table)
var tbody = $("<tbody/>").appendTo(table)
var th=$("<th/>",{scope:"column"})
var th = $("<th/>", { scope: "column" })
head.append(["Molecule", "Transition"].map(x => th.clone().text(x)))
head.append(sortedMethods.map(x => th.clone().text(x.toString("\n").split('-').join('\u2011'))))
adjustSticky();
@ -431,14 +427,14 @@ draft: false
Reflect.setPrototypeOf(ex[3], VertExcitationKind.prototype)
var tr = $("<tr/>")
if (printmol) {
$("<th/>",{ scope:"row", rowspan:moldat.size}).text(molecule).appendTo(tr)
$("<th/>", { scope: "row", rowspan: moldat.size }).text(molecule).appendTo(tr)
printmol = false
}
var Vertkindtext = ""
if (ex[3].Value == VertExcitationKinds.Fluorescence.Value) {
Vertkindtext = String.raw`[${VertExcitationKinds.Fluorescence.LaTeX}]`
}
$("<th/>",{scope:"row"}).text(String.raw`${LatexInline[0]}${ex[0].toLaTeX()} \rightarrow ${ex[1].toLaTeX()} ${Vertkindtext}(${ex[2].LaTeX}) ${LatexInline[1]}`).appendTo(tr)
$("<th/>", { scope: "row" }).text(String.raw`${LatexInline[0]}${ex[0].toLaTeX()} \rightarrow ${ex[1].toLaTeX()} ${Vertkindtext}(${ex[2].LaTeX}) ${LatexInline[1]}`).appendTo(tr)
var entries = Array.from(exdat.entries())
for (const method of sortedMethods) {
td = $("<td/>").addClass("NumberCell")
@ -587,17 +583,17 @@ draft: false
<section>
<table id="stat_table" class="datatable">
<thead class="sticky">
<th>Method</th>
<th>Set</th>
<th>Min</th>
<th>Max</th>
<th>Mean</th>
<th>Absolute Mean</th>
<th>Median</th>
<th>Absolute Median</th>
<th>RMS</th>
<th>Variance</th>
<th>Standard deviation</th>
<th scope="col">Method</th>
<th scope="col">Set</th>
<th scope="col">Min</th>
<th scope="col">Max</th>
<th scope="col">MSE</th>
<th scope="col">MAE</th>
<th scope="col">Median</th>
<th scope="col">Absolute Median</th>
<th scope="col">RMS</th>
<th scope="col">Variance</th>
<th scope="col">Standard deviation</th>
</thead>
<tbody>
</tbody>