Grafikonok és diagramok készítése egyszerűen JavaScripttel


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: "&lt;%= datasetLabel %&gt; - &lt;%= value %&gt;",
 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.

Kapcsolódó bejegyzések:
  • Pár, a netes grafikonok rajzolását elősegítő alkalmazást szeretnék most megmutatni.Silverlight:Silverlight Charts – A Microsoft technológiáján alapul, …

  • BoGyesz hívta fel a minap erre a hírre a figyelmet a SEO fórumon, de a kérésnek megfelelően eddig nem lett belőle hír.Asszinkron kódban a módosítás:…

  • Honlapkészítés során van olyan helyzet, hogy szeretnénk betölteni a lapon 1-1 olyan új szöveget, képet miegymást, hogy az ne járjon az egész oldal újratöltésével …

  • A többnyelvű honlapokon szinte mindig van egy ilyen kis zászlócskás nyelvválasztó az oldalon. Ha grafikailag rendben is vannak, egy probléma gyakori: nem elérhet …

  • Ha csak úgy kiteszed egy lapra a linkedet, előbb vagy utóbb (inkább előbb) megtalálnak a spamrobotok és telenyomják a mailboxodat egy rakat kéretlen levéllel. Ha …

A cikket beküldte: vmarci21 (http://into.hu)

1 hozzászólás

  1. Kayla O'Hanegan says:

    Köszi, ez nekem most nagyon jól jött.

Szólj hozzá
a Grafikonok és diagramok készítése egyszerűen JavaScripttel c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>