Astăzi, vom fi scufundați în Diagrame de variație; un grafic unic de gramatică bazat pe JavaScript, care oferă un stil de marcare abstract și declarativ pentru a crea ceea ce altfel ar fi diagrame destul de complexe. Formatele de variații se află undeva între D3.js și HighCharts, oferind flexibilitate păstrând în același timp o sintaxă accesibilă.
Folosind diagramele de variație nu se bazează pe cunoașterea mai profundă a JavaScript-ului. Hai să aruncăm o privire!
Variance oferă o versiune necomercială, găzduită prin propriul CDN, pe care ar trebui să o includeți în pagina dvs., cum ar fi:
Veți dori să includeți a style.css
fișierul de asemenea. Nu vom trece prin procesul de explicare a configurației de bază a fișierului HTML, deoarece cele mai multe dintre aceste detalii sunt simple.
Varianța poate citi atât JSON, cât și CSV; vom crea o diagramă de bare simplă utilizând următoarele date CSV neoficiale despre popularitatea baconului:
an, bacon 1990,20 1995,231 2000,639 2005,1625 2010,7000 2015,16000
După cum vedem din aceste perechi de valori, slănina devine din ce în ce mai exponențială și mai populară. De exemplu, perechea 1990,20
arată că era bacon 20
popular (indiferent de ce înseamnă asta) în 1990
, dar apoi prin 1995
popularitatea a crescut 231
.
Dar, într-adevăr, pentru a vedea acest lucru vizual, am dori să-l prezentăm folosind o diagramă de bare. Iată un exemplu despre modul în care vom marca graficul nostru (vom trece peste diferitele elemente într-un moment).
Datele baconului
an
De asemenea, vom avea nevoie de unele CSS care să le însoțească pentru a seta dimensiunea graficului. Pentru a face acest lucru, vom înfășura toate marcajele noastre într-un Observați câteva lucruri aici: Grozav! Acum cum o facem mai puțin urâtă? Pentru a modela graficul, pur și simplu ne-am simțit așa cum ar fi elemente normale în CSS. Elementele barei din diagramă sunt elementele DOM normale la nivel de bloc și sunt poziționate utilizând flexbox. Vom adăuga câteva stiluri la CSS-ul nostru, care ar trebui să arate astfel. Notă: am adăugat un font Google în fișierul index deasupra linkului nostru stil.css: Am inclus un bonus mic aici: efectul "fereastră neclară" poate fi văzut creat între elementul container și corp. Folosim oa doua imagine de fundal pentru a realiza acest lucru. Acum avem o diagramă mai utilă. Dar devine mult, mult mai bine. Timpul pentru unele infloriri, incepand cu cateva sfaturi pe baruri. Pentru a elimina lucrurile, vom adăuga o nouă adnotare pentru fiecare bar, astfel încât marcajele diagramelor noastre să arate astfel: După aceasta, vom adăuga câteva stiluri noi CSS-ului nostru care vor permite unele efecte interesante de hover și tranziții simple pentru tooltip: În cele din urmă, vrem să animăm barurile noastre. Vom realiza acest lucru cu o animație cheie cheie: Ceea ce vom aplica apoi elementului nostru de bare: Acest lucru poate fi, de asemenea, realizat folosind ceva de genul Diferența face o treabă excelentă de a explica exemple mai complexe și oferă, de asemenea, un indiciu excelent de documentare. Veți găsi că variația este capabilă de vizualizări mult mai complexe. Vom atinge pe scurt câteva dintre punctele principale de aici. Varianta utilizează nume de părți diferite ale unei diagrame pentru a face construirea diagramelor ușor, inclusiv Varianța poate utiliza, de asemenea, date corelate, care permit vizualizări bazate pe API care au o informație actualizată dinamic. Astăzi, ați învățat cum să creați o diagramă complet declarată, animată, folosind diagramele de variație. Într-un efort de a vă face să începeți rapid, am lăsat o mulțime de funcționalități disponibile în variantă, deci asigurați-vă că ați verificat-o pentru dvs.! Fotografia cu bacon de către jeffreyww pe Flickr, editată. Creative Commons 2.0style.css
fişier:.container lățime: 50%; margine: 60 pixeli auto; .container chart width: 100%; height: 400px;
diagramă
etichetă.scale-y-liniar
ne spune ce scară a direcției y ar trebui să fie. În cazul nostru, setul nostru de date merge la 16000, dar începe la 20 de grade. Pentru a acoperi gama, ne-am stabilit capătul inferior la 0, iar vârful nostru la 20000.ghid-x / ghid-y
creează un ghidaj pentru marcaje pe axele respective.
buclele asupra datelor noastre și creează elemente bazate pe fiecare punct de date.adnotare
este o etichetă care poate fi plasată în jurul unui anumit element, cum ar fi a bar
. Curbele curbate vă permit să afișați o bucată de date; în cazul nostru, an
este în CSV-ul nostru, astfel încât să putem scoate cu ușurință anul.bar
creează un element de bara și harta-lungime
definește lățimea barei bacon
hărți către CSV.Modelarea graficului
corp culoare: # 3f130c; înălțime: 100%; font-family: sans-serif; fundal-imagine: url (... / bg.jpg); background-size: capac; background-position: centru; background-repeat: no-repetare; background-attachment: fix; h1, h2, h3, h4 font-family: Tauri, sans-serif; .container lățime: 50%; Poziția: relativă; imaginea de fundal: url (... /bg-blur.jpg); background-size: capac; background-position: centru; background-repeat: no-repetare; background-attachment: fix; margine: 100 pixeli automat; padding: 100px; . bacon-chart poziție: relativă; z-index: 999; .bacon-diagramă h3 marja: 0 0 1em; .container: după background-color: rgba (255,255,255,0,4); Poziția: absolută; top: 0; stânga: 0; lățime: 100%; înălțime: 100%; conţinut:""; .container chart width: 100%; height: 400px; . bacon-diagramă bar background-color: rgba (96,28,18,0,7); frontieră: nici una;
Animație și instrumente
.bacon-diagramă bar fundal-culoare: rgba (96,28,18,0,7); frontieră: nici una; Marja: 0 importantă; datum overflow: hidden; .tooltip width: auto; înălțime: auto; background-color: # 444; Culoare: #fff; opacitate: 0; stânga: -100%; font-size: .6em; -webkit-transition: all .4s; -moz-transition: all .4s; -ms-transition: toate .4s; -o-tranziție: toate .4s; tranziție: toate .4s; padding: 6px; datum: hover fundal-culoare: rgba (255,255,255,0,1); datum: hover .tooltip afișare: bloc; opacitate: 1; stânga: 0;
Animaţie
@ -webkit - bare de cadre cheieIn 0% bottom: -100%; 100% bottom: 0;
.bacon - grafic bar fundal - culoare: rgba (96, 28, 18, 0.7); marja: 0! important; frontieră: nici una; înălțime: 0; - webkit - animație: bare în 1s;
-webkit-transform: scară (1, 0)
, dar am vrut să-l păstrăm cât mai simplu posibil. De asemenea, trebuie să vă asigurați că adăugați prefixele corespunzătoare după cum este necesar.Mai multe despre varianță
punct
,punct
, gamă
, bar
, grafic cu căsuțe
, și linia
. Fiecare dintre acestea are propriile intrări determinabile. Acestea pot fi folosite în combinație cu altele și pot fi create în mod iterativ cu repeta
bloc.Concluzie