Como adicionar o segundo eixo Y do gráfico de barras e linhas no Chart.js?
Estou tentando adicionar um eixo Y duplo no Chart.js para duas comparações de conjuntos de dados. Atualmente, estou usando a extensão LineBar de Leigh Quince, que foi a resposta encontrada aqui:Chart.js como obter Barras combinadas e gráficos de linhas?
Há também uma solução escrita cerca de um ano atrás para o eixo Y duplo, mas apenas para gráficos de linhas, e fora de sincronia com o mestre de Nick. Parece que existem gráficos de linhas e barras ou duplo Y, mas não ambos.
Meu problema aqui é que preciso representar% TSAT (níveis de saturação), eixo Y esquerdo, gráfico de linhas, a quantidade de níveis de dosagem de ferritina, gráfico de barras do eixo Y direito. Aqui está como eu preciso:
(Parece que o Stackoverflow mudou a cor dele em mim, espero que você ainda possa ler as escalas do eixo Y)
Se alguém puder compor uma solução, eu ficaria muito agradecido.
Código atual:
var data = {
labels: ["Jun 2013", "Jul 2013","Aug 2013","Sep 2013","Oct 2013","Nov 2013","Dec 2013", "Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014"],
datasets: [
{
label: "TSAT",
type: "line",
fillColor: "transparent",
strokeColor: "#a33a59",
pointColor: "#a33a59",
pointHighlightStroke: "#FFF",
data:[33,32.9,32.9,33.2,33.2,33.2,32.7,32.9,32.9,32.7,32.7,32.7]
},
{
label: "Ferritin",
type: "bar",
fillColor: "#ed7141",
strokeColor: "#ed7141",
data: [939,929,949,991,992,993,976,976,973,986,972,939]
}
]
};
var options = {
responsive: true,
scaleOverride: true,
scaleSteps: 10,
scaleStepWidth: 5,
scaleStartValue: 0,
showTooltips: false,
pointDot: true,
pointDotRadius : 10,
datasetStrokeWidth : 3,
bezierCurve : false,
scaleShowLines: false,
scaleGridLineWidth : 2,
scaleGridLineColor : "#EEEEEE",
scaleLineWidth: 3,
scaleLineColor: "#000000",
scaleFontFamily: 'Gotham Book,sans-serif',
scaleFontSize: 18,
}
ctx = $("#myChart").get(0).getContext("2d");
TSATChart = new Chart(ctx).LineBar(data, options);
Entre ... Modifiquei a LineBar do Quince para renderizar a barra primeiro e depois as linhas. O código originalmente o inverteu. Como tal, talvez eu não consiga adicionar algo ao jsfiddle, editarei e adicionarei um link se tiver êxito em adicionar um exemplo lá.
Obrigado!