Weboldalon többféleképpen is megjeleníthetünk grafikonokat, legegyszerűbben egy erre kitalált JavaScript plugin segítségével. Ezeken belül is több választásunk van, de talán a legismertebb a Google szolgáltatása mellett a Chart.js.
Ez utóbbiról lesz szó ebben a cikkben. Hogy miért pont róla? Mert segítségével talán az egyik legegyszerűbben kezelhető, mégis sok szempontból személyre szabható, de kis fájlméretű megoldást használhatunk.
Letöltés, beállítás
A projekt Github oldaláról a Chart.min.js-re lesz szükségünk, és a src mappából azokra a fájlokra, amilyen típusú grafikonokat szeretnénk készíteni, viszont az oldalon csak a Chart.min.js-t kell betöltenünk, valahogy így:
<script src="Chart.min.js"></script>
Ha ezzel kész vagyunk, indulhat a grafikonok készítése. Ahol a grafikont meg szeretnénk jeleníteni, oda egy canvas HTML elemet kell beilleszteni:
<canvas id="myChart" width="400" height="400"></canvas>
Majd egy adatokat tartalmazó JavaScript objektumot kell létrehoznunk, amik az összes grafikontípusnál így néznek ki:
var data = { labels: ["Első","Második","Hamradik"], datasets: [ { label: "Első kategória", fillColor: "rgba(220,220,220,0.2)", strokeColor: "rgba(220,220,220,1)", pointColor: "rgba(220,220,220,1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(220,220,220,1)", data: [65, 59, 80, 81, 56, 55, 40] }, { label: "Második kategória", fillColor: "rgba(151,187,205,0.2)", strokeColor: "rgba(151,187,205,1)", pointColor: "rgba(151,187,205,1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(151,187,205,1)", data: [28, 48, 40, 19, 86, 27, 90] } ] }; |
Ezek után megadhatjuk a grafikonunk tulajdonságait is:
var options = { scaleBeginAtZero: true, multiTooltipTemplate: "<%= datasetLabel %> - <%= value %>", responsive: true }; |
Egyes diagramtípusoknál más-más beállítások megadására van lehetőségünk, ezeknek a listáját a dokumentációban találhatjuk meg.
Ha ezzel is megvagyunk, akkor már csak a megfelelő függvényt kell meghívnunk az előbb létrehozott adatokat paraméterként átadva:
Oszlopdiagram esetén: var ctx = document.getElementById("myChart").getContext("2d"); var myBarChart = new Chart(ctx).Bar(data, options); |
Vonaldiagramnál:
var ctx = document.getElementById("myChart").getContext("2d"); var myBarChart = new Chart(ctx).Line(data, options); |
Kördiagram esetén:
var ctx = document.getElementById("myChart").getContext("2d"); var myBarChart = new Chart(ctx).Pie(data, options); |
Mint a cikk elején írtam, és ahogy láthattunk a Chart.js-t tényleg könnyű használni, Internet Explorer 8-ban is jól jelenik meg, és mindezt kis fájlméret mellett teszi – amik miatt a legjobb diamarkészítő-eszköz lehet egy weboldalon.
Köszi, ez nekem most nagyon jól jött.