chart.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. function displayfileData(allData) {
  2. allData.forEach( (usager) => {
  3. let identite = usager.identite;
  4. let situation = usager.situation;
  5. let frequentation = usager.frequentation;
  6. let espace = usager.espace;
  7. let telephone = usager.telephone;
  8. document.querySelector("#data-container").innerHTML +=
  9. "<div class='usager'>" +
  10. "<h3 class='usager-identite'>" + identite + "</h3>" +
  11. "<p class='frequentation'> à visité " + frequentation + " fois </p>" +
  12. "<p class='situation'>Situation: " + situation + "</p>" +
  13. "<p class='espace'>Espace: " + espace + "</p>" +
  14. "<p class='telephone'>Telephone: " + telephone + "</p>" +
  15. "<div>";
  16. });
  17. }
  18. function freqBySpace(allData) {
  19. //console.log(allData);
  20. var accueilArr = [];
  21. var espace1Arr = [];
  22. var espace2Arr = [];
  23. var espace3Arr = [];
  24. var espace4Arr = [];
  25. var espace5Arr = [];
  26. var espace6Arr = [];
  27. allData.forEach( (usager) => {
  28. //console.log(book.format);
  29. switch (usager.espace) {
  30. case "Espace accueil":
  31. //console.log("in E!");
  32. accueilArr.push(usager.frequentation);
  33. break;
  34. case "realite virtuelle":
  35. //console.log("in H!");
  36. espace1Arr.push(usager.frequentation);
  37. break;
  38. case "musee numerique":
  39. //console.log("in P!");
  40. espace2Arr.push(usager.frequentation);
  41. break;
  42. case "cyber base":
  43. //console.log("in H!");
  44. espace3Arr.push(usager.frequentation);
  45. break;
  46. case "shooting photo":
  47. //console.log("in P!");
  48. espace4Arr.push(usager.frequentation);
  49. break;
  50. case "jeux videos":
  51. //console.log("in H!");
  52. espace5Arr.push(usager.frequentation);
  53. break;
  54. case "espace scenique":
  55. //console.log("in P!");
  56. espace6Arr.push(usager.frequentation);
  57. break;
  58. default:
  59. break;
  60. }
  61. });
  62. //console.log(ebookArr, hardcoverArr, paperbackArr);
  63. var sumAccueilFreq = getArrayAverage(accueilArr);
  64. var sumEspace1Freq = getArrayAverage(espace1Arr);
  65. var sumEspace2Freq = getArrayAverage(espace2Arr);
  66. var sumEspace3Freq = getArrayAverage(espace3Arr);
  67. var sumEspace4Freq = getArrayAverage(espace4Arr);
  68. var sumEspace5Freq = getArrayAverage(espace5Arr);
  69. var sumEspace6Freq = getArrayAverage(espace6Arr);
  70. console.log(sumAccueilFreq, sumEspace1Freq, sumEspace2Freq,sumEspace3Freq,sumEspace4Freq,sumEspace5Freq,sumEspace6Freq);
  71. return {
  72. "title": "Fréquentation des espaces de microfolies",
  73. "key": "Total fréquentation",
  74. "espaceFormat": ["Espace accueil", "realite virtuelle", "musee numerique", "cyber base", "shooting photo", "jeux videos", "espace scenique"],
  75. "avePrice": [sumAccueilFreq, sumEspace1Freq, sumEspace2Freq, sumEspace3Freq, sumEspace4Freq, sumEspace5Freq, sumEspace6Freq]
  76. };
  77. }
  78. function getArrayAverage(arr) {
  79. total = 0;
  80. arr.forEach( (frequentation) => {
  81. total += frequentation;
  82. });
  83. //var average = (total / arr.length).toFixed(2);
  84. return total;
  85. }
  86. function createChartToDOM(titleInfo, xLabelInfo, legendKeyLabel, dataInfo) {
  87. var data = {
  88. //labels: [],
  89. labels: xLabelInfo,
  90. datasets: [{
  91. label: legendKeyLabel,
  92. borderColor: "rgb(255, 99, 132)",
  93. backgroundColor: "rgba(255, 99, 132, 0.5)",
  94. borderWidth: 1,
  95. data: dataInfo,
  96. fill: false,
  97. }]
  98. }
  99. var options = {
  100. scales: {
  101. xAxes: [{
  102. //display: false,
  103. ticks: {}
  104. }],
  105. yAxes: [{
  106. display: true,
  107. scaleLabel: {
  108. display: true,
  109. labelString: 'FREQUENTATION ',
  110. fontSize: 18,
  111. fontColor: "#333",
  112. },
  113. ticks: {
  114. beginAtZero: true
  115. }
  116. }],
  117. xAxes: [{
  118. scaleLabel: {
  119. display: true,
  120. labelString: 'ESPACES',
  121. fontSize: 18,
  122. fontColor: "#333",
  123. }
  124. }]
  125. },
  126. elements: {
  127. line: {
  128. tension: 0.1, // disables bezier curves
  129. }
  130. },
  131. layout: {
  132. padding: {
  133. left: 10,
  134. right: 10,
  135. top: 0,
  136. bottom: 0
  137. }
  138. },
  139. /*
  140. title: {
  141. display: true,
  142. fontSize: 36,
  143. fontFamily: "monospace",
  144. fontColor: "#333",
  145. text: titleInfo,
  146. bottom: 30
  147. },
  148. */
  149. legend: {
  150. display: false,
  151. }
  152. }
  153. // CREATES AND DISPLAYS CHARTJS OBJECt
  154. var context = document.getElementById("myChart").getContext("2d");
  155. var myChart = new Chart(context, {
  156. type: "bar",
  157. data: data,
  158. options: options
  159. });
  160. }