<!DOCTYPE html>
<html dlouhý="cs">
<hlava>
<meta charset="UTF-8">
<název>Počasí Dashboard</název>
https://cdn. jsdelivr.net/npm/chart.js
<style>
těloArial, sans-serif; margin: 20px; }
canvas { max-width: 600px; margin: 20px auto; }
Tabulka { Border-collapse: collapse; width: 100%; margin-top: 20px; }
th, td { rámeček: 1px plné #ccc; vyplňování: 8px; text-align: center; }
H1 { text-align: center; }
</style>
</head>
<body>
<h1>Weather Dashboard</h1>
<canvas id="tempChart"></canvas>
<canvas id="rainChart"></canvas>
<canvas id="pressureChart"></canvas>
<canvas id="humidityChart"></canvas>
<canvas id="windRose"></canvas>
<table>
<thead>
<tr>
<th>Datum</th>
<th>Teplota (°C)</th>
<th>Srážky (mm)</th>
<th>Vítr (m/s)</th>
<th>Směr větru</th>
<th>Vlhkost (%)</th>
<th>Tlak (hPa)</th
> </tr>
</thead>
<tbody id="dataTable"></tbody>
</table>
<script>
let tempChart, rainChart, pressureChart, humidityChart;
function initCharts() {
tempChart = nový Chart(document. { font-family: getElementById("
tempChart type: "line",
data: { labels: [], datasets: [{ label: "Teplota", data: [], borderColor: "red" }] }
});
rainChart = nový Chart(document."), {getElementById("rainChart"), {
type: "bar",
datasety: [{ label: "Srážky", data: [], backgroundColor: "blue" }] }
});
pressureChart = nový Chart(document. Data: { Labels: [], getElementById("
pressureChart type: "line",
data: { labels: [], datasets: [{ label: "Tlak", data: [], borderColor: "green" }] }
});
VlhkostGraf = nový Chart(document.(" type: "line", data: { labels: [], datasets: [{ label: "", data: [], : "green" }] } }); = getElementById("humidityChart"), {
type: "line",
datové sady: [{ label: "Vlhkost", data: [], borderColor: "orange" }] }
});
}
asynchronní funkce loadData() {
try {
const response = await fetch("https://content. Data: { Labels: [], Meteobridge.com/dashboard/ac8eb98b92d17efd828c3c3fcd31e78a/data.json");
Const json = čekat response.json();
Const Data = json.records.map(d => ({
Datum: D.Datum,
Teplota: D.Teplota ?? null,
Rain: D.Rain ?? null,
Vítr: D.Vítr ?? null,
je: d.wind_je ?? null,
Hum: D. Vlhkost?? null,
Press: D.Pressure ?? null
}));
// Aktualizace grafů
tempChart.data.labels = data.map(d => d.date);
tempChart.data.datasets[0].data = data.map(d => d.temp);
tempChart.update();
rainChart.data.labels = data.map(d => d.date);
rainChart.data.datasets[0].data = data.map(d => d.rain);
rainChart.update();
pressureChart.data.labels = data.map(d => d.date);
pressureChart.data.datasets[0].data = data.map(d => d.press);
pressureChart.update();
VlhkostGraf.data.labels = data.map(d => d.date);
VlhkostGraf.data.datasets[0].data = data.map(d => d.hum);
VlhkostGraf.update();
// Tabulka
Const tbody = dokument.getElementById("dataTable");
tbody.innerHTML = "";
Data.pro Each(d => {
tbody.innerHTML += '<tr>
<td>${d.date}</td>
<td>${d.temp ?? "--"}</TD>
<td>${d.rain ?? "--"}</TD>
<td>${d.wind?? "--"}</TD>
<td>${d.je ?? "--"}</TD>
<td>${d.hum ?? "--"}</TD>
<td>${d.press ?? "--"}</TD>
</tr>';
});
} catch (e) {
console.error("chyba při načítání že", e);
}
}
initCharts();
loadData();
</script>
</body>
</html>
Líbí se mi to:
Líbí Načítání…
Napsat komentář