var windv = document.getElementById('windc').getContext('2d'); var windkmh = document.getElementById('windkmh').getContext('2d'); var windms = document.getElementById('windms').getContext('2d'); var windknp = document.getElementById('windknp').getContext('2d'); var luchtdruk = document.getElementById('luchtdruk').getContext('2d'); var temperatuur = document.getElementById('temperatuur').getContext('2d'); var wolken = document.getElementById('bewolking').getContext('2d'); var mwolken = document.getElementById('mbewolking').getContext('2d'); var hwolken = document.getElementById('hbewolking').getContext('2d'); var neerslag = document.getElementById('neerslag').getContext('2d'); var straling = document.getElementById('straling').getContext('2d'); var zicht = document.getElementById('zicht').getContext('2d'); var radarverwachting = document.getElementById('radarverwachting').getContext('2d'); // $("#windr").html("test"); document.getElementById("windr").innerHTML=""; var gradient = windv.createLinearGradient(0, 0, 0, 400); gradient.addColorStop(0, 'rgba(0,111,174,0.8)'); gradient.addColorStop(1, 'rgba(21,31,38,0.5)'); // Functie om min/max waarden te berekenen met 25% marge function calculateYAxisRange(minValue, maxValue) { const range = maxValue - minValue; const margin = range * 0.25; return { min: Math.max(0, minValue - margin), // Nooit onder nul max: maxValue + margin }; } function calculateYAxisRangeTemp(minValue, maxValue) { const range = maxValue - minValue; const margin = range * 0.25; var minwaarde = Math.max(0, minValue - margin); // min volgt data, maar als min niet onder nul ligt, geen negatieve ruimte tonen onder grafiek if (minValue < -1) { minwaarde = minValue - margin; } return { min: minwaarde, max: maxValue + margin }; } var radarChart = new Chart(radarverwachting, { type: 'bar', data: { labels: , datasets: [{ label: 'Radar neerslag', data: , backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1 }] }, options: { plugins: { legend: { display: false } }, scales: { y: { ...calculateYAxisRange(0, ), ticks: { callback: function(value, index, ticks) { return value + ' mm'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' mm'; } } } } } }); var windChart = new Chart(windv, { type: 'line', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'wind', data: [4,4,4,5,5,5,6,6,6,6,6,6,4,4,4,5,5,5,6,6,6,6,6,6,6,7], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1, fill: true }] }, options: { plugins: { legend: { display: false } }, scales: { y: { ...calculateYAxisRange(2, 9), ticks: { callback: function(value, index, ticks) { return value + ' bft'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' bft'; } } } } } }); var windknpChart = new Chart(windknp, { type: 'line', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'wind', data: [14,14,14,17,17,17,23,23,23,25,25,23,12,14,14,17,19,19,21,21,21,21,21,25,25,27], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1, fill: true }] }, options: { plugins: { legend: { display: false } }, scales: { y: { ...calculateYAxisRange(2, 29), ticks: { callback: function(value, index, ticks) { return value + ' knp'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' knp'; } } } } } }); var windkmhChart = new Chart(windkmh, { type: 'line', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'wind', data: [25.2,25.2,25.2,32.4,32.4,32.4,43.2,43.2,43.2,46.8,46.8,43.2,21.6,25.2,25.2,32.4,36,36,39.6,39.6,39.6,39.6,39.6,46.8,46.8,50.4], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1, fill: true }] }, options: { plugins: { legend: { display: false } }, scales: { y: { ...calculateYAxisRange(2, 52.4), ticks: { callback: function(value, index, ticks) { return value + ' km/h'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' km/h'; } } } } } }); var windmsChart = new Chart(windms, { type: 'line', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'wind', data: [7,7,7,9,9,9,12,12,12,13,13,12,6,7,7,9,10,10,11,11,11,11,11,13,13,14], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1, fill: true }] }, options: { plugins: { legend: { display: false } }, scales: { y: { ...calculateYAxisRange(2, 16), ticks: { callback: function(value, index, ticks) { return value + ' m/s'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' m/s'; } } } } } }); var luchtdChart = new Chart(luchtdruk, { type: 'line', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'luchtdruk', data: [1006.3,1006,1005.1,1003.9,1002.7,1001.1,999.1,996.9,994.7,992.5,990.1,988.2,987.6,987.3,987.4,987.8,988.1,988.5,988.8,989.1,989.5,990,990.4,991,991.5,992.7], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1, fill: true }] }, options: { plugins: { legend: { display: false } }, scales: { y: { ...calculateYAxisRange(982, 1011), ticks: { callback: function(value, index, ticks) { return value + ' hPa'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' hPa'; } } } } } }); var tempChart = new Chart(temperatuur, { type: 'line', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'temperatuur', data: [12,12,11,11,10,10,9,9,9,9,9,10,11,11,11,11,11,11,11,11,11,11,11,11,11,12], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1, fill: true }] }, options: { plugins: { legend: { display: false } }, scales: { y: { ...calculateYAxisRangeTemp(8, 14), ticks: { callback: function(value, index, ticks) { return value + ' ºC'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' ºC'; } } } } } }); var wolkenChart = new Chart(wolken, { type: 'bar', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'wolken', data: [0,0,99,86,100,100,100,100,100,100,100,100,100,97,60,100,100,100,100,100,100,100,65,100,61,1], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1 }] }, options: { plugins: { legend: { display: false } }, scales: { y: { beginAtZero: true, ticks: { callback: function(value, index, ticks) { return value + ' %'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' %'; } } } } } }); var mwolkenChart = new Chart(mwolken, { type: 'bar', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'wolken', data: [0,0,11,100,100,100,100,100,100,100,100,100,100,0,0,0,100,100,100,100,100,100,100,100,100,2], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1 }] }, options: { plugins: { legend: { display: false } }, scales: { y: { beginAtZero: true, ticks: { callback: function(value, index, ticks) { return value + ' %'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' %'; } } } } } }); var hwolkenChart = new Chart(hwolken, { type: 'bar', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'wolken', data: [80,100,100,100,100,100,100,100,100,100,100,100,0,0,0,0,0,0,0,76,68,70,95,58,56,87], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1 }] }, options: { plugins: { legend: { display: false } }, scales: { y: { beginAtZero: true, ticks: { callback: function(value, index, ticks) { return value + ' %'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' %'; } } } } } }); var neerslagChart = new Chart(neerslag, { type: 'bar', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'neerslag', data: [0,0,0,0,0.5,1.1,1.5,1.7,2.9,2.3,0.8,1.3,3.9,0.5,0,0,0,0,0,0,0,0.4,0.9,0,0.5,0], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1 }] }, options: { plugins: { legend: { display: false } }, scales: { y: { ...calculateYAxisRange(0, 6), ticks: { callback: function(value, index, ticks) { return value + ' mm'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' mm'; } } } } } }); var stralingChart = new Chart(straling, { type: 'bar', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'Global radiation', data: [108,53,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,6,8,7,7,11,25,21], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1 }] }, options: { plugins: { legend: { display: false } }, scales: { y: { ...calculateYAxisRange(0, 113), ticks: { callback: function(value, index, ticks) { return value + ' W/m2'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' W/m2'; } } } } } }); var zichtChart = new Chart(zicht, { type: 'line', data: { labels: ["15","16","17","18","19","20","21","22","23","00","01","02","02","03","04","05","06","07","08","09","10","11","12","13","14","15"], datasets: [{ label: 'zicht', data: [22001,50000,17151,13062,17014,10878,13065,8750,7294,13725,24260,2830,6745,14961,15879,16621,18111,19127,50000,26192,24307,15709,50000,16127,17704,17998], backgroundColor: 'rgba(0,111,174,0.8)', borderColor: 'rgba(0,111,174,1)', borderWidth: 1, fill: true }] }, options: { plugins: { legend: { display: false } }, scales: { y: { min: 0, max: 55000, ticks: { callback: function(value, index, ticks) { return value + ' m'; } } } }, plugins: { tooltip: { enabled: true, mode: 'index', intersect: false, callbacks: { title: function(tooltipItems) { return tooltipItems[0].label + ' uur'; }, label: function(tooltipItem) { return tooltipItem.raw + ' m'; } } } } } });