J'essaie de créer un graphique en courbes avec deux jeux de données, chacun avec sa propre échelle/axe Y (un à gauche, un à droite du graphique) à l'aide de Chart.js.
Ceci est mon code ( jsfiddle ):
var canvas = document.getElementById('chart');
new Chart(canvas, {
type: 'line',
data: {
labels: [ '1', '2', '3', '4', '5' ],
datasets: [
{
label: 'A',
yAxesGroup: 'A',
data: [ 100, 96, 84, 76, 69 ]
},
{
label: 'B',
yAxesGroup: 'B',
data: [ 1, 1, 1, 1, 0 ]
}
]
},
options: {
yAxes: [
{
name: 'A',
type: 'linear',
position: 'left',
scalePositionLeft: true
},
{
name: 'B',
type: 'linear',
position: 'right',
scalePositionLeft: false,
min: 0,
max: 1
}
]
}
});
Cependant, le deuxième axe n'est pas visible et le deuxième jeu de données est toujours mis à l'échelle exactement comme le premier (0 à 100 au lieu de 0 à 1). Que dois-je changer?
Pour ChartJs 2.x, seuls quelques changements doivent être apportés (il semble que vous ayez essayé de combiner les options 2.x avec les options multi-axes de ma fourche?),
yAxes
doit être dans un objet scales
ticks
.scalePositionLeft
cela est couvert par position
Exemple:
var canvas = document.getElementById('chart');
new Chart(canvas, {
type: 'line',
data: {
labels: ['1', '2', '3', '4', '5'],
datasets: [{
label: 'A',
yAxisID: 'A',
data: [100, 96, 84, 76, 69]
}, {
label: 'B',
yAxisID: 'B',
data: [1, 1, 1, 1, 0]
}]
},
options: {
scales: {
yAxes: [{
id: 'A',
type: 'linear',
position: 'left',
}, {
id: 'B',
type: 'linear',
position: 'right',
ticks: {
max: 1,
min: 0
}
}]
}
}
});