2024. december 2., hétfő

Diagram készítése

 Adatbázisból beolvasott adatok:

[

  {

    "year": "1990",

    "produced_water_volume": "1012124",

    "total_supplied_water": "911104",

    "residential_consumption": "579287"

  },

  {

    "year": "1995",

    "produced_water_volume": "795937",

    "total_supplied_water": "661619",

    "residential_consumption": "421389"

  },

---további adatok---

  {

    "year": "2021",

    "produced_water_volume": "638051",

    "total_supplied_water": "461284",

    "residential_consumption": "358159"

  }

]

 

<!DOCTYPE html>

<html lang="hu">

<head>

  <meta charset="UTF-8">

  <title>Chart.js Példa</title>

  <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

</head>

<body>

  <canvas id="myChart" width="400" height="200"></canvas>

  <script>

    // JSON adat URL-ed, ahonnan a végpontot lekéred

    const dataUrl = 'http://localhost/2024_2025_php_feladatok/%C3%B6koprojekt%20vizes/water_data.php';

    // Adatok betöltése és diagram létrehozása

    fetch(dataUrl)

      .then(function(response) {

        console.log(response) //url rendben van, válaszra készen

        return response.json();

      })

      .then(function(jsonData) {

        console.log(jsonData); // JSON formátumban lekérdezett adatok  

        // Régi tömb adatai beolvasása egy új tömbbe

        const xValues = jsonData.map(function(item) {

          return item.year;

        }); // Évek

        console.log("Évek: ",xValues) //eltáraltuk az éveket

 

        const yValues = jsonData.map(function(item) {

          return parseInt(item.residential_consumption);

        }); // Lakossági fogyasztás

        console.log("Fogyasztási adatok: ", yValues) // eltároltuk a fogyasztási adatokat

 

        const barColors = ["red", "green", "blue", "orange", "brown"];

        //annyi szín ismétlődik, amennyit megadsz;

 

        const barColorstest = Array.from({ length: xValues.length }, (_, i) =>

          `hsl(${(i * 360) / xValues.length}, 70%, 50%)`

        ); // Automatikusan generált színek

        console.log("Automatikus színek: ", barColorstest)

 

        // Chart.js diagram

        new Chart("myChart", {

          type: "bar",

          data: {

            labels: xValues,

            datasets: [{

              backgroundColor: barColors,

              data: yValues

            }]

          },

          options: {

            legend: { display: false },

            title: {

              display: true,

              text: "Lakossági vízfogyasztás évenként"

            },

            scales: {

              y: {

                beginAtZero: true,

                title: {

                  display: true,

                  text: "Fogyasztás (m³)"

                }

              },

              x: {

                title: {

                  display: true,

                  text: "Év"

                }

              }

            }

          }

        });

      })

      .catch(function(error) {

        console.error('Hiba az adatok betöltése vagy feldolgozása során:', error);

      });

  </script>

</body>

</html>

Diagram készítése

  Adatbázisból beolvasott adatok: [   {     "year": "1990",     "produced_water_volume": "1012124...