Ajustement données
This commit is contained in:
@@ -8,22 +8,31 @@
|
||||
<h2>Distribution des âges</h2>
|
||||
<section id="stats" style="margin-bottom: 2rem;">
|
||||
<h3>Indicateurs clés</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<td class="strong">Individus</td><td id="total" class="number"></td>
|
||||
<td class="strong">Âge moyen</td><td id="mean" class="number"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="strong">Médiane</td><td id="median" class="number"></td>
|
||||
<td class="strong">Écart-type</td><td id="ecart" class="number"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="strong">Minimum</td><td id="min" class="number"></td>
|
||||
<td class="strong">Maximum</td><td id="max" class="number"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div style="display: flex">
|
||||
<div>
|
||||
<p><span class="strong">Individus :</span> <span id="total" class="number"></span><br>
|
||||
<span class="strong">Âge moyen :</span><span id="mean" class="number"></span><br>
|
||||
<span class="strong">Médiane :</span> <span id="median" class="number"></span><br>
|
||||
<span class="strong">Écart-type :</span> <span id="ecart" class="number"></span><br>
|
||||
<span class="strong">Minimum :</span> <span id="min" class="number"></span><br>
|
||||
<span class="strong">Maximum :</span> <span id="max" class="number"></span>
|
||||
</div>
|
||||
<div>
|
||||
<canvas id="genreChart" width="200" height="200"></canvas>
|
||||
</div>
|
||||
<div>
|
||||
<canvas id="classeChart" width="200" height="200"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<canvas id="ageChart" width="600" height="400"></canvas>
|
||||
|
||||
<div style="display: flex;">
|
||||
<div><canvas id="wealthChart" width="300" height="300"></canvas></div>
|
||||
<div><canvas id="educationChart" width="300" height="300"></canvas></div>
|
||||
</div>
|
||||
<div><canvas id="heatmapChart" width="200" height="200"></canvas>
|
||||
<div><canvas id="radarChart" width="200" height="200"></canvas>
|
||||
<script type="module" src="/src/individus.ts"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
20
package-lock.json
generated
20
package-lock.json
generated
@@ -9,6 +9,8 @@
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"chart.js": "^4.5.1",
|
||||
"chartjs-chart-matrix": "^3.0.0",
|
||||
"chartjs-plugin-datalabels": "^2.2.0",
|
||||
"graphology": "^0.26.0",
|
||||
"graphology-layout-forceatlas2": "^0.10.1",
|
||||
"jstat": "^1.9.6",
|
||||
@@ -370,6 +372,24 @@
|
||||
"pnpm": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/chartjs-chart-matrix": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chartjs-chart-matrix/-/chartjs-chart-matrix-3.0.0.tgz",
|
||||
"integrity": "sha512-lUWC1UaWkxGdG02dBJ5r1ppbSYB/uWmwAh11VEs7V3ZQItNCk4am+rmacwkgeb+SQeEj2hP9Qq4oGsUmPl/1lQ==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"chart.js": ">=3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/chartjs-plugin-datalabels": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/chartjs-plugin-datalabels/-/chartjs-plugin-datalabels-2.2.0.tgz",
|
||||
"integrity": "sha512-14ZU30lH7n89oq+A4bWaJPnAG8a7ZTk7dKf48YAzMvJjQtjrgg5Dpk9f+LbjCF6bpx3RAGTeL13IXpKQYyRvlw==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"chart.js": ">=3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/detect-libc": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"chart.js": "^4.5.1",
|
||||
"chartjs-chart-matrix": "^3.0.0",
|
||||
"chartjs-plugin-datalabels": "^2.2.0",
|
||||
"graphology": "^0.26.0",
|
||||
"graphology-layout-forceatlas2": "^0.10.1",
|
||||
"jstat": "^1.9.6",
|
||||
|
||||
@@ -69,9 +69,9 @@ function randomSex(age:number) {
|
||||
let c = 0.55;
|
||||
|
||||
if (age < 30)
|
||||
c = 0.51;
|
||||
c = 0.52;
|
||||
else if (age < 55)
|
||||
c = 0.45;
|
||||
c = 0.46;
|
||||
|
||||
return Math.random() < c ? "F" : "M";
|
||||
}
|
||||
@@ -112,8 +112,8 @@ function randomEducation(age:number) {
|
||||
}
|
||||
|
||||
function randomWealth(education:number) {
|
||||
// Ajoute un bruit gaussien (moyenne 0, écart-type 0.9)
|
||||
const wealthCont = education + jStat.normal.sample(0, 0.9);
|
||||
// Ajoute un bruit gaussien (moyenne 0, écart-type 0.7)
|
||||
const wealthCont = education / 2 + jStat.normal.sample(0.2, 0.9);
|
||||
|
||||
// Classification en 4 niveaux selon la valeur continue
|
||||
let wealth;
|
||||
|
||||
Reference in New Issue
Block a user