Je cherche à afficher un graphique présentant le risque d'allergies au pollen. Les données proviennent du site www.pollens.fr. Voici le résultat C'est presque le résultat que je souhaite sauf que je voudrais affecter une couleur en fonction du niveau (Vert claire pour 1, Vert foncé pour 2, ...) et la.... je ne m'en sors pas.
En fouillant dans les différents sites et la doc voici le code javascript que j'utilise pour obtenir le résultat, il ne tiens pas compte des informations de couleur mises dans plotoptions. Quelqu'un peux m'aider car j?
Code : Tout sélectionner
$(document).ready(function() {
var seriesNom = [];
var seriesData= [];k
var arrData = [];
var requestURL = 'https://www.pollens.fr/risks/thea/counties/27';
var request = new XMLHttpRequest();
request.open('GET', requestURL);
request.responseType = 'text'; // now we're getting a string!
request.send();
request.onload = function() {
var json = request.response; // get the string from the response
var obj = JSON.parse(json); // convert it to an object
var risk = obj['risks'];
for (var i = 0; i < risk.length; i++) {
seriesNom.push(risk[i].pollenName);
arrData.push(risk[i].level);
seriesData = [{
data: arrData,
borderWidth: 2
}];
}
var dept = obj['countyName'];
var level= obj['riskLevel'];
var titre = 'Niveau global = ' + level;
var divID = '#popup_pollens';
createGraphPollen(divID, seriesNom, seriesData, dept, titre);
}
})
function createGraphPollen(divID, seriesNom, seriesData, dept, vdesc) {// create graph
console.clear;
console.log(seriesData);
console.table(seriesData);
$(divID).highcharts({
chart: { type: 'bar' },
plotOptions: {
bar: {
colorByPoint: true
},
series: {
zones: [ {
color: '#00FF00',
value: 1
}, {
color: '#0B610B',
value: 2
}, {
color: '#F7FE2E',
value: 3
}, {
color: '#FFBF00',
value: 4
}, {
color: '#FF0000',
value: Number.MAX_VALUE
}]
}
},
title: { text: dept },
subtitle: { text: vdesc },
legend: { enabled: false },
credits: { enabled: false },
xAxis: { categories: seriesNom },
yAxis: {
min: 0,
max: 5,
allowDecimals: false,
title: {
text: 'Niveau de risque',
align: 'high'
},
},
series: seriesData
});
}