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.
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;
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;
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],
}]
}
});
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},
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;
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:
{},
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;
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.
});
Å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;
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
Nåværende side: Bruke Chart.js: Trinn 01-10
Neste side Bruker chart.js: trinn 11-20Nå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..
[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..
[1. 3] Du kan gjøre mye med CSS - kanskje mer enn du kanskje tror - men det ærverdige stilarkspråket har sine begrensninger. I ..
[1. 3] I en stadig digital verden har smart utformet utskriftsfremmende materiale kraft til å gjøre en alvorlig innvirkning. Kan..
[1. 3] En av de viktigste tingene som arbeider i CGI, skal gi, er større presisjon. Det er imidlertid utrolig hvor vanskelig det ..
[1. 3] Det er gjennom animasjon at vi gir mening om verden: Dører svinger åpent, biler kjører til sine destinasjoner, lepper kr..
[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..
[1. 3] Spacesuits er morsomme å male, men hjelmdelen kan være vanskelig å få rett, spesielt glasselementet fordi du må ta hen..