Bonjour à toutes et à tous,
Quelques recherches sur la toile ne m'ont rien donné.
Je cherche à faire un affichage centré d'une courbe, c'est-à-dire que les valeurs absolues du min et du max sont égales, mais en n'imposant pas de valeurs a priori.
Un processus me paraît possible, mais je ne sais pas le mettre en œuvre.
Cela consiste, lors du chargement des valeurs, à trouver la valeur absolue max et à l'appliquer aux valeurs min et max de l'affichage. Le code pourrait être le suivant :
let indx = 0;
rows.forEach(row => {
const [value0, value1] = row.split(',');
labels.push(indx++);
// Calcul de la valeur absolue max de value1 ; ça, je dois savoir faire
values0.push(parseFloat(value0));
values1.push(parseFloat(value1));
});
chart1.data.labels = labels;
chart1.data.datasets[0].data = values0;
chart1.data.datasets[1].data = values1;
// Appliquer cette valeur aux paramètres min et max de l'affichage
chart1.update();
Apparemment, le fait de replacer les options juste avant le update, fait que les options qui avaient été définies préalablement ne sont plus prises en compte. Il faut les remettre toutes à ce dernier endroit ( on peut même les supprimer de l’endroit où elles étaient initialement). De ce fait, la modification que vous m'avez proposée :
Il me semble que dans les deux cas il faut s'assurer que chart1.options.scales.y1 existe bien avant (donc il faut l'initialiser comme vous le faisiez sans doute).