Použijte Chart.js pro vypnutí dat do interaktivních diagramů

Sep 16, 2025
jak

Teoreticky v teorii není vytváření diagramů obtížné. Manipulace s trigonometrií potřebnou pro výsečový graf patří mezi nejúspěšnější pracovní místa používaná pro tréninkové programátory. Existuje spousta diagramů knihoven vígo pro pozorování vývojářů právě teď, ale v tomto článku se zaměříme na to, jak používat Open Source Tool Tool Chart.js.

Dáme knihovnu prostřednictvím svých kroků, vytváříme soubor tisknutelných diagramů z náhodně generovaných dat. Chart.js je obzvláště populární Web Design Tool. Protože nabízí jedinečný kompromis mezi snadným použitím a pokročilým funkcí, což umožňuje vytvářet interaktivní grafy a zapojení infografika .

S graf.js si můžete vybrat z osmi různých typů grafu, abyste přidali na webové stránky s minimálním úsilím. Nedávno přidané animační modul obohacuje diagramy s snazzy-vypadajícími vizuály. Vytvoření nového webu pro dům vašich diagramů? Dostat se web hosting na místě, a nezapomeňte vyzkoušet top Webové stránky Builder. . Dobře, začněme.

Kliknutím na ikonu v pravém horním rohu každého obrázku jej zvětšíte.

01. Nasazení knihovny

Jako použití společnosti Chart.js je rozšířená, můžete najít svou minimální verzi z různých CDNS jako Cloudfreare. Jednoduše jej načte s & lt; scénář a gt; a zajistit, aby & lt; canvas & gt; Objekt je v blízkosti - Chart.js dělá jeho kouzlo pomocí vykreslování infrastruktury poskytnuté v tomto widgetu.

 & lt; html & gt;
& lt; hlava & gt;
& lt; skript src = "https://cdnjs.cloudflare.com/AJAX/libs/chart.js/2.4.0/
Chart.min.js "& gt;
& lt; / script & gt;
& lt; / hlava & gt;
& lt; tělo & gt;
& lt; canvas id = "workarea" & gt;
& lt; / canvas & gt;
& lt; / tělo & gt;
& lt; / html & gt; 

02. Spusťte inicializaci

First, load up the framework

Nejprve vložte rámec

Když je rámec načten, dalším krokem zahrnuje získání rukojeti na plátno2D směřující na & lt; canvas & gt; instance vytvořená v předcházejícím kroku. To pak může být použito k vytvoření nové instance Schéma() Třída, která je zodpovědná za zpracování dat, vykreslování a interakci.

 & lt; scénář a gt;
(funkce () {
var ctx = dokument.
GetElementByid ('Workarea'). GetContext ('2d');
var diagram = nový graf (CTX,
{
Typ: 'line',
Možnosti: {},
. . .
});
}) ();
& lt; / script & gt; 

03. Přidat zdroj dat

line chart

Pro naši řádek je vyžadován pouze jeden soubor dat

Třísy grafu Vezměte datový ukazatel, který poskytuje jeden nebo více DataSet. objekty obsahující skutečné informace o měření. V případě našeho řádku je potřeba pouze jedna datová sada. Dodává se s povinným datovým prvkem a několik volitelných parametrů upravujících skutečný proces zobrazení.

 var diagramu = nový graf (CTX, {
Typ: 'line',
Možnosti: {},
Data: {
Štítky: ["leden",
"Únor", "březen", "duben", "může", "červen",
"Červenec"],
DataSets: [{
Štítek: "Můj první datový soubor",
barva pozadí:
        "RGB (255, 99, 132), \ t
FordLoror:
"RGB (255, 99, 132), \ t
Data: [0, 10, 5,
2, 20, 30, 45],
}]
}
}); 

04. Zastavte libovolné blikání

Chart.js je dodáván s sofistikovanou logikou pro změnu velikosti, což - bohužel - inklinuje, že se čas od času dostane velikosti obrazovky. Omezit velikost & lt; canvas & gt; Prvek přes CSS, bohužel, neudělá trik. Místo toho musí být jak údržba a responzivosti aspektů zakázáno pomocí pole Možnosti doprovázející konstruktér třídy grafu.

 & lt; canvas id = "workarea" styl = "šířka: 800px;
Výška: 600px; "& gt; & lt; / canvas & gt;
& lt; scénář a gt;
(funkce () {
var ctx = dokument.
GetElementByid ('Workarea'). GetContext ('2d');
var diagram = nový graf (CTX,
{
Typ: 'line',

Možnosti: {
Reagovat: False, WedatePECTRATIO:
FALSE}, 

05. Přidat rozložení

Chcete-li parafrázovat Andrei Tupolev: Teď, když malý je létání, uveďte to větší. Lešení ukázal doprovázení tohoto kroku "násobí" náš diagram - namísto práce s jedním plátnem prvkem, nyní vytvoříme celkem čtyři z nich a zajistíme je na obrazovce v módě podobné lůžko osciloskopu. Je smutné, že to není zcela fungovat tak, jak bylo zamýšleno.

 & lt; canvas id = "workarea"
styl = "pozice: absolutní; top: 0%; vlevo: 0%;
šířka: 49%; Výška: 49%; "& gt; & lt; / plátno & gt; & lt; / canvas & gt;
& lt; canvas id = "workarea2"
styl = "pozice: absolutní; top: 0%; vlevo: 51%;
šířka: 49%; Výška: 49%; "& gt; & lt; / plátno & gt; & lt; / canvas & gt;
& lt; canvas id = "workarea3"
Styl = "Pozice: absolutní; top: 51%; vlevo: 0%;
šířka: 49%; Výška: 49%; "& gt; & lt; / plátno & gt; & lt; / canvas & gt;
& lt; canvas id = "workarea4"
Styl = "Pozice: absolutní; nahoru: 51%; vlevo: 51%;
šířka: 49%; Výška: 49%; "& gt; & lt; / plátno & gt; & lt; / canvas & gt; 

06. Tame Jakékoliv chyby vykreslování

Wrapper <div> tags enforce a structure from the outside

Wrapper & Lt; Div & Gt; Tagy vynucují strukturu zvenčí

Nejbezpečnější způsob, jak zpracovávat diagramy grafu v komplexních rozložení zahrnuje použití obalu & lt, div a gt; tagy. Vynutí strukturu zvenčí, čímž zajišťuje, že vnitřní rozložení motor nemůže učinit více škod, než je nutné. V tomto případě však zajistí opětovné zapnutí funkce responzivity.

 & lt; dig style = "pozice: absolutní; top: 0%; vlevo:
0%; šířka: 49%; výška: 49%; "& gt;
& lt; canvas id = "workarea" & gt; & lt; / canvas & gt; & lt;
CANVAS & GT;
& lt; / div & gt;
& lt; divoký styl = "pozice: absolutní; top: 0%; vlevo:
51%; šířka: 49%; výška: 49%; "& gt;
& lt; canvas id = "workarea2" & gt; & lt; / canvas & gt; & lt;
CANVAS & GT;
& lt; / div & gt;
& lt, divový styl = "pozice: absolutní; top: 51%; vlevo:
0%; šířka: 49%; výška: 49%; "& gt;
& lt; canvas id = "workureaa3" & gt; & lt; / canvas & gt; & lt;
CANVAS & GT;
& lt; / div & gt;
& lt, divový styl = "pozice: absolutní; top: 51%; vlevo:
51%; šířka: 49%; výška: 49%; "& gt;
& lt; canvas id = "workarea4" & gt; & lt; / canvas & gt; & lt;
CANVAS & GT;
& lt; / div & gt;
& lt; scénář a gt;
Document.addeventListener ("DomContentl
OADA ", funkce () {
var ctx = dokument.
GetElementByid ('Workarea'). GetContext ('2d');
var diagram = nový
Graf (CTX, {
typ:
'čára',
Možnosti:
{}, 

07. Vyzkoušejte bary

Creating bar charts is simple

Vytvoření sloupcových grafů je jednoduchý

Vždy vykreslování linky grafy dostane únavné rychle. Pojďme smrkové věci změnou vlastnosti typu do baru, čímž se získá tyčové diagramy, jako je ten, který je uveden na obrázku doprovázející tento krok. Podporujeme datové pole na "globální" rozsah, abychom odstranili opětovné použití.

 & lt; script & gt;
Document.addeventListener ("DomContentLoaded", funkce () {
var můjfield = {
Štítky: ["leden", "únor", "březen", "duben", "květen", "červen", "červenec"],
DataSets: [{
označení:
"Můj první datový soubor",

BackgroundColor: 'RGB (255, 99, 132)',

FordLoror: 'RGB (255, 99, 132)',
Data: [0, 10, 5, 2, 20, 30, 45],
}]
};

. . .
CTX = Dokument.
getElementbyid ('workarea4'). getContext ('2d');
Chart = Nový graf (CTX, {
Typ: 'bar',
Možnosti: {},
Data: Myfield.
});
});
& lt; / script & gt; 

08. Vyhněte se PIES

pie charts taking over the screen

Výsečové grafy vyžadují zvláštní léčbu, pokud nechcete, aby vyplnili celou obrazovku

Teoreticky, koláčový graf může být vykreslen ve stejných liniích. Odstraňte vlastnosti barev, abyste zabránili jednotnému vzhledu a nastavte vlastnost typu na koláč. Je smutné, že to není zcela fungovat - když je hotový, koláčový graf vyplní celou obrazovku. To je způsobeno specialitou Renderer, který používá "větší" obou vlastností pro určení poloměru koláče.

 var mypie = {
Štítky: ["leden", "únor", "březen", "duben", "květen", "červen", "červenec"],
DataSets: [{
Štítek: "Můj první datový soubor",
Data: [0, 10, 5, 2, 20, 30, 45],
}]
};
ctx = dokument.getelementbyid ('workarea2').
getContext ('2d');
Chart = Nový graf (CTX, {
Typ: 'Pie',
Možnosti: {},
Data: MyPie.
}); 

09. Vyřešte problém

Otevřete soubor 'index.js' vytvořený v kroku 1. Začněte zadáním typu grafu jako řádku a přidání dat, které mají být vizuálně reprezentovány podle obrázku níže.

 & lt; tělo & gt;
& lt, divový styl = "pozice: absolutní; top: 0%;
vlevo: 0%; šířka: 49%; výška: 49%; "& gt;
& lt; canvas id = "workarea" & gt; & lt; /
plátno & gt; & lt; / canvas & gt;
& lt; / div & gt;
& lt, divový styl = "pozice: absolutní; top: 0%;
vlevo: 51%; šířka: 29%; výška: 49%; "& gt;
& lt; canvas id = "workarea2" & gt; <
plátno & gt; & lt; / canvas & gt;
& lt; / div & gt; 

10. Nechat chart.js rescale schéma

Další přístup k vyřešení problému zahrnuje znovu vypnutí UnientaspectRatio. Vlastnosti.Diagrammingový motor se tímto způsobem nechá zachránit diagram, protože vidí, že se zajistí, že celý kruh se zobrazí na obrazovce.

 CTX = Document.getElementbyid ('Workarea2').
getContext ('2d');
Chart = Nový graf (CTX, {
Typ: 'Pie',
Možnosti: {WasctaspectRatio: false
},
Data: MyPie.
}); 

Další stránka: Dokončit vytváření interaktivního grafu s graf.js

  • 1.
  • 2.

Aktuální stránka: Použití grafu.js: Kroky 01-10


jak - Nejoblíbenější články

Začínáme s bulminou

jak Sep 16, 2025

(Image Credit: Bulma) Chcete začít používat bulma? Jsi na správném místě. Bulma je populární CSS rámec s j..


Jak vytvořit vrstvený efekt paralaxy na vašich stránkách

jak Sep 16, 2025

(Image Credit: www.beargrylls.com) Přídavný pohyb, pojem pohyblivých vrstev na různých rychlostech, byl použí..


Jak vytvořit tekuté účinky s webglem

jak Sep 16, 2025

Mnoho webových designérů hledá způsoby, jak přidat velký dopad na jejich návrhy stránek, takže udělají pozornost svý..


Jak přinést 2D charakter k životu ve VR

jak Sep 16, 2025

Pokud budete sledovat trendy, je těžké ujít, že VR prochází dalším oživením. Stalo se to dříve, ale tentokrát je to..


Jak malovat barevné zombie

jak Sep 16, 2025

Vždycky jsem se mu líbil nemrtvý a často kořen pro otrhaný underdog, který je tak často snížen na pohyblivý cíl. Mnoh..


Jak vytvořit lávu lavu s klíčem

jak Sep 16, 2025

Je tu něco zvláštně uspokojující o lávových lampách. Uklidňující, barevné světlo a fascinující voskové bloby zve..


Vyrovnejte herní znaky s kreativní sestrojem

jak Sep 16, 2025

S obrovským množstvím strašných tvorů a postav, které vytváří, pracují s herní dílnou pro překládat warhammer mini..


Barva portrét jako staré mistři

jak Sep 16, 2025

Pro tento tutoriál vezmeme hloubku pohledu na výhody kopírování staré mistrovské malby. Rozhodl jsem se zkopírovat část..


Kategorie