Próbuję dodać podwójną oś Y w Chart.js dla dwóch porównań zestawów danych. Obecnie używam rozszerzenia LineBar Leigh Quince, które znalazłem tutaj: Chart.js how to get Combined Bar and line charts?Jak dodać drugą oś Y do wykresu słupkowego i liniowego w Chart.js?
Istnieje również rozwiązanie napisane około rok temu dla podwójnej osi Y, ale tylko dla wykresów liniowych, a ich sposób zsynchronizowany z Mistrz Nicka. Wydaje się, że istnieją wykresy liniowe i słupkowe, lub Double-Y, ale nie oba.
Moim problemem jest to, że muszę reprezentować TSAT% (poziomy nasycenia), lewą oś Y, wykres liniowy, do poziomu poziomów dawkowania ferrytyny, prawą oś poprzeczną osi Y. Oto, co potrzebne, aby wyglądać tak:
(Wydaje Stackoverflow zmieniła kolor na mnie, mam nadzieję, można jeszcze odczytać Wagi oś Y)
Jeśli ktoś może comp górę dzięki rozwiązaniu byłbym bardzo wdzięczny.
Aktualny kod:
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);
BTW ... I zmodyfikowane pigwa za LineBar do renderowania Bar pierwszy wtedy linie. Kod początkowo był odwrócony. W związku z tym może nie być w stanie dodać coś do jsfiddle, będę edytować i dodać link, jeśli uda mi się dodać przykład.
Dziękujemy!
Witam po przeczytaniu tego, zmieniłem teraz moją wersję, aby renderować paski, a następnie linie. Pozdrawiam, to o wiele bardziej logiczny porządek. – Quince
Dzięki Pigwa. Przepraszam, że tak długo dziękuję, ale przez jakiś czas nie miałem uprawnień do komentowania. Ten projekt minął, ale zmiana kodu jest bardzo przydatna. :) – JBMcClure
Działający przykład JSFiddle - http://jsfiddle.net/fixit/yny5f4s6/ –