Bruk chart.js for å slå data til interaktive diagrammer

Sep 14, 2025
hvordan
[1. 3]

I teorien er det ikke vanskelig å skape diagrammer. Håndtering av trigonometri kreves for et kakediagram er blant de mest klassiske jobbene som brukes til treningsprogrammerere. Det er mange diagrammeringsbiblioteker som vier for utviklere oppmerksomhet akkurat nå, men i denne artikkelen skal vi fokusere på hvordan du bruker åpen kildekodeverktøyskjema.

Vi vil sette biblioteket gjennom sine skritt, og skape et sett med utskrivbare diagrammer fra tilfeldig genererte data. Chart.js er en spesielt populær Web Design Tool. Fordi det gir en unik avgang mellom brukervennlighet og avanserte funksjoner, slik at du kan lage interaktive diagrammer og engasjere seg Infographics. .

Med Chart.js kan du velge mellom åtte forskjellige karttyper for å legge til dine nettsteder med minimal innsats. Den nylig lagt til animasjonsmodulen beriker diagrammene med snazzy-ser visuals. Opprette et nytt nettsted for å huse diagrammene dine? Få din Web Hosting. Spot på, og vær sikker på å prøve en topp Nettstedbygger . Ok, la oss komme i gang.

Klikk på ikonet øverst til høyre for hvert bilde for å forstørre det.

01. Distribuere biblioteket

Som bruk av Chart.js er utbredt, kan du finne sin minifiserte versjon fra ulike CDNer som CloudFlare. Last det bare med en & lt; script & gt; tag, og sørg for at a & lt; lerret & gt; Objektet er i nærheten - chart.js gjør sin magi ved å bruke gjengivelsesinfrastrukturen som er gitt i denne widgeten.

 & lt; html & gt;
& lt; head & gt;
& lt; script src = "https://cdnjs.cloudflare.com/ajax/libs/chart.js/2.4.0/
Chart.min.js "& gt;
& lt; / script & gt;
& lt; / head & gt;
& lt; body & gt;
& lt; lerret id = "workarea" & gt;
& lt; / canvas & gt;
& lt; / body & gt;
& lt; / html & gt; 

02. Start initialisering

First, load up the framework

Først legg opp rammen

Når rammen er lastet, innebærer neste trinn å få et lerrethåndtak som peker på & lt; lerret & gt; forekomst opprettet i det foregående trinnet. Dette kan da brukes til å skape en ny forekomst av Diagram () Klasse, som er ansvarlig for datahåndtering, gjengivelse og samhandling.

 & lt; script & gt;
(funksjon () {
var ctx = dokument.
GetElementByid ('Workarea'). GetContext ('2D');
VAR-diagram = Nytt diagram (CTX,
{
Type: 'Linje',
Alternativer: {},
. . .
});
}) ();
& lt; / script & gt; 

03. Legg til en datakilde

line chart

For vårt linjediagram, er det bare ett datasett nødvendig

Diagramklasser tar en datapeker som gir en eller flere Datasett objekter som inneholder den faktiske måleinformasjonen. I tilfelle av vårt linjediagram, er det bare behov for ett datasett. Den leveres med det obligatoriske dataelementet og noen valgfrie parametere som styrer den faktiske skjermprosessen.

 VAR-diagram = Nytt diagram (CTX, {
Type: 'Linje',
Alternativer: {},
Data: {
Etiketter: ["januar",
"Februar", "Mars", "April", "May", "June",
"Juli"],
Datasett: [{
Etikett: "Mitt første datasett",
bakgrunnsfarge:
        'RGB (255, 99, 132)',
grensefarge:
'RGB (255, 99, 132)',
Data: [0, 10, 5,
2, 20, 30, 45],
}]
}
}); 

04. Stopp noen flimrende

Chart.js kommer med sofistikert resizing logikk, som - dessverre - har en tendens til å få skjermstørrelser feil fra tid til annen. Begrenser størrelsen på & lt; lerret & gt; Element via CSS, dessverre, gjør ikke trikset. I stedet må både Aspect Ratio vedlikehold og svar være deaktivert via alternativfeltet som følger med diagramklassens konstruktør.

 & lt; lerret id = "workarea" stil = "bredde: 800px;
Høyde: 600px; "& gt; & lt; / canvas & gt;
& lt; script & gt;
(funksjon () {
var ctx = dokument.
GetElementByid ('Workarea'). GetContext ('2D');
VAR-diagram = Nytt diagram (CTX,
{
Type: 'Linje',

Alternativer: {
Responsive: False, vedlikeholdasparato:
false}, 

05. Legg til layouts

Til Parafrase Andrei Tupolev: Nå som den lille flyr, la oss få opp den større. Stillaset vist med dette trinnet "multipliserer" vårt diagram - i stedet for å jobbe med ett lerretelement, skaper vi nå totalt fire av dem og arrangerer dem på skjermen på en måte som ligner på et lecroyoscilloskop. Dessverre virker dette ikke helt som beregnet.

 & lt; lerret id = "workarea"
Style = "Posisjon: Absolutt; Topp: 0%; Venstre: 0%;
Bredde: 49%; Høyde: 49%; "& gt; & lt; / canvas & gt;
& lt; lerret id = "workarea2"
Style = "Posisjon: Absolutt; Topp: 0%; Venstre: 51%;
Bredde: 49%; Høyde: 49%; "& gt; & lt; / canvas & gt;
& lt; lerret id = "workarea3"
Style = "Posisjon: Absolutt; Topp: 51%; Venstre: 0%;
Bredde: 49%; Høyde: 49%; "& gt; & lt; / canvas & gt;
& lt; lerret id = "workarea4"
Style = "Posisjon: Absolutt; Topp: 51%; Venstre: 51%;
Bredde: 49%; Høyde: 49%; "& gt; & lt; / canvas & gt; 

06. Tame eventuelle renderingsfeil

Wrapper <div> tags enforce a structure from the outside

Wrapper & lt; div & gt; Tags håndhever en struktur fra utsiden

Den sikreste måten å håndtere chart.js diagrammer i komplekse layouter innebærer å bruke wrapper & lt; div & gt; Tags. De håndhever en struktur fra utsiden, og dermed sikrer at den interne layoutmotoren ikke kan gjøre mer skade enn nødvendig. I dette tilfellet må du imidlertid sørge for å aktivere ansvaret for å aktivere Responsivity.

 & lt; Div Style = "Posisjon: Absolutt; Topp: 0%; Venstre:
0%; Bredde: 49%; Høyde: 49%; "& gt;
& lt; lerret id = "workarea" & gt; & lt; / canvas & gt;
lerret & gt;
& lt; / div & gt;
& lt; div Style = "Posisjon: Absolutt; Topp: 0%; Venstre:
51%; Bredde: 49%; Høyde: 49%; "& gt;
& lt; lerret id = "workarea2" & gt; & lt; / canvas & gt;
lerret & gt;
& lt; / div & gt;
& lt; div stil = "posisjon: absolutt; topp: 51%; igjen:
0%; Bredde: 49%; Høyde: 49%; "& gt;
& lt; lerret id = "workarea3" & gt; & lt; / canvas & gt;
lerret & gt;
& lt; / div & gt;
& lt; div stil = "posisjon: absolutt; topp: 51%; igjen:
51%; Bredde: 49%; Høyde: 49%; "& gt;
& lt; lerret id = "workarea4" & gt; & lt; / canvas & gt;
lerret & gt;
& lt; / div & gt;
& lt; script & gt;
DOCUMENT.ADDEVENTLISTENER ("DOMCONTENTL
oaded ", funksjon () {
var ctx = dokument.
GetElementByid ('Workarea'). GetContext ('2D');
var diagram = ny
Diagram (CTX, {
type:
'linje',
Alternativer:
{}, 

07. Prøv barer

Creating bar charts is simple

Opprette bar diagrammer er enkelt

Alltid gjengivelse av linjediagrammer blir kjedelig raskt. La oss gran opp ting ved å endre typenegenskapen til bar, og dermed gi bardiagrammer som den som er vist i figuren som følger med dette trinnet. Vi markedsfører datafeltet til 'Global' omfang for å eliminere gjenbruk.

 & lt; script & gt;
DOCUMENT.ADDEVENTLISTENER ("DOMCONTENTLOADED", FUNKSJON () {
var myfield = {
Etiketter: ["januar", "februar", "mars", "april", "mai", "juni", "juli"],
Datasett: [{
merkelapp:
"Mitt første datasett",

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

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

. . .
CTX = Dokument.
getemementbyid ('workarea4'). GetContext ('2D');
diagram = Nytt diagram (CTX, {
Type: 'Bar',
Alternativer: {},
Data: Myfield
});
});
& lt; / script & gt; 

08. Unngå paier

pie charts taking over the screen

Pie diagrammer krever spesiell behandling hvis du ikke vil at de skal fylle hele skjermen

I teorien kan et kakediagram bli gjengitt langs de samme linjene. Fjern fargeegenskapene for å forhindre jevn utseende, og sett typenegenskapen til kake. Dessverre fungerer dette ikke helt - når det er gjort, vil kakediagrammet fylle hele skjermen. Dette er forårsaket av en spesialitet av kaken renderen som bruker den "større" av de to egenskapene for å bestemme kake radius.

 var mypie = {
Etiketter: ["januar", "februar", "mars", "april", "mai", "juni", "juli"],
Datasett: [{
Etikett: "Mitt første datasett",
Data: [0, 10, 5, 2, 20, 30, 45],
}]
};
CTX = Document.GetelementByid ('Workarea2').
GetContext ('2D');
diagram = Nytt diagram (CTX, {
Type: 'Pie',
Alternativer: {},
Data: MyPie.
}); 

09. Løs problemet

Åpne 'Index.js' -filen som er opprettet i trinn 1. Begynn med å angi graftypen som linje og legge til dataene som skal være visuelt representert som vist nedenfor.

 & lt; body & gt;
& lt; div stil = "posisjon: absolutt; topp: 0%;
Venstre: 0%; Bredde: 49%; Høyde: 49%; "& gt;
& lt; lerret id = "workarea" & gt; & lt; /
lerret & gt; & lt; / canvas & gt;
& lt; / div & gt;
& lt; div stil = "posisjon: absolutt; topp: 0%;
Venstre: 51%; Bredde: 29%; Høyde: 49%; "& gt;
& lt; lerret id = "workarea2" & gt; & lt; /
lerret & gt; & lt; / canvas & gt;
& lt; / div & gt; 

10. La chart.js rescale diagrammet

En annen tilnærming til å løse problemet innebærer å gjenopprette vedlikeholdascectratio. trekk.På denne måten får diagrammegemotoren å omskrive diagrammet når det ser passform, slik at hele sirkelen vises på skjermen.

 ctx = document.getElementbyid ('workarea2').
GetContext ('2D');
diagram = Nytt diagram (CTX, {
Type: 'Pie',
Alternativer: {OpprettholdeAspectratio: False
},
Data: MyPie.
}); 

Neste side: Avslutt Opprett ditt interaktive diagram med chart.js

  • 1
  • 2.

Nåværende side: Bruke Chart.js: Trinn 01-10


hvordan - Mest populære artikler

Hvordan tegne nakke og skuldre

hvordan Sep 14, 2025

Når du lærer å tegne nakke og skuldre, kan det ofte være utfordrende å vise volumene i vårt arbeid, da vi er vant til å se folk foran. Men å tegne en anatomisk riktig nakke og skuldre..


Arbeidsbilde Mask Magic With Houdini

hvordan Sep 14, 2025

[1. 3] Hvis du er interessert i å lære mer om Houdini, sørg for at du går på å generere New York (april 24-25). På kon..


Stil et nettsted med SASS

hvordan Sep 14, 2025

[1. 3] Du kan gjøre mye med CSS - kanskje mer enn du kanskje tror - men det ærverdige stilarkspråket har sine begrensninger. I ..


3 Tips for å lage imponerende utskriftsfremmende materiale

hvordan Sep 14, 2025

[1. 3] I en stadig digital verden har smart utformet utskriftsfremmende materiale kraft til å gjøre en alvorlig innvirkning. Kan..


Hvordan snapping fungerer i 3D-apper

hvordan Sep 14, 2025

[1. 3] En av de viktigste tingene som arbeider i CGI, skal gi, er større presisjon. Det er imidlertid utrolig hvor vanskelig det ..


Slå på menyene dine ved hjelp av animasjon med CSS

hvordan Sep 14, 2025

[1. 3] Det er gjennom animasjon at vi gir mening om verden: Dører svinger åpent, biler kjører til sine destinasjoner, lepper kr..


Hvordan skulptur i kino 4d

hvordan Sep 14, 2025

[1. 3] Når du nærmer seg en modell eller scene som krever den raffinerte modellering som tilbys av skulptur, kan mange 3D-artist..


Hvordan maling buet glass på en romhjelm

hvordan Sep 14, 2025

[1. 3] Spacesuits er morsomme å male, men hjelmdelen kan være vanskelig å få rett, spesielt glasselementet fordi du må ta hen..


Kategorier