Oggi ci tufferemo nelle Carte di varianza; una "grammatica della grafica" unica basata su JavaScript che fornisce uno stile di markup astratto e dichiarativo per creare quelli che altrimenti sarebbero grafici piuttosto complessi. Diagrammi di varianza si trova da qualche parte tra D3.js e HighCharts, fornendo flessibilità mantenendo una sintassi accessibile.
L'uso di Variance Charts non si basa su una conoscenza approfondita di JavaScript. Diamo un'occhiata!
Variance fornisce una versione non commerciale, ospitata attraverso il proprio CDN, che dovresti includere nella tua pagina in questo modo:
Ti consigliamo di includere un style.css
file pure. Non passeremo attraverso il processo di spiegazione della configurazione di base del file HTML, poiché la maggior parte di questi dettagli è semplice.
La varianza può leggere sia JSON che CSV; creeremo un semplice grafico a barre utilizzando i seguenti dati CSV non ufficiali sulla popolarità del bacon:
anno, bacons 1990,20 1995,231 2000,639 2005,1625 2010,7000 2015,16000
Come possiamo vedere da queste coppie di valori, la pancetta sta diventando esponenzialmente sempre più popolare. Ad esempio, la coppia 1990,20
mostra che il bacon era 20
popolare (qualunque cosa diavolo significhi) 1990
, ma poi da 1995
la popolarità era salita a 231
.
Ma davvero, per vederlo visivamente, vorremmo presentarlo usando un grafico a barre. Ecco un esempio di come registreremmo il nostro grafico (esamineremo i vari elementi in un momento).
Dati di pancetta
anno
Avremo anche bisogno di alcuni CSS di accompagnamento per impostare le dimensioni del grafico. Per fare questo, avvolgeremo tutti i nostri markup in a Notate alcune cose qui: Grande! Ora come lo rendiamo meno brutto? Per dare uno stile al grafico, modelliamo semplicemente come faremmo con i normali elementi nei CSS. Gli elementi della barra del grafico sono normali elementi DOM a livello di blocco e sono posizionati tramite Flexbox. Aggiungeremo alcuni stili al nostro CSS, che dovrebbe quindi assomigliare a questo. Nota: abbiamo aggiunto un carattere Google al file di indice sopra il nostro collegamento style.css: Abbiamo incluso un piccolo bonus qui: l'effetto "finestra sfocata" può essere visto creato tra il contenitore e gli elementi del corpo. Facciamo uso di una seconda immagine di sfondo per raggiungere questo obiettivo. Ora abbiamo un grafico più utile. Ma diventa molto, molto meglio. Il tempo per alcuni rigiri, a cominciare da alcuni suggerimenti sulle barre. Per dare il via, aggiungeremo una nuova annotazione per ogni barra, in modo che il nostro markup grafico assomiglia a questo: Dopodiché, aggiungeremo alcuni nuovi stili al nostro CSS che consentiranno alcuni interessanti effetti al passaggio del mouse e transizioni semplici per il suggerimento: Infine, vogliamo animare le nostre barre. Lo realizzeremo con un'animazione di fotogrammi chiave: Che poi applicheremo al nostro elemento barra: Questo può anche essere realizzato usando qualcosa di simile La varianza fa un ottimo lavoro di spiegazione di esempi più complessi e fornisce anche un ottimo indice di documentazione. Scoprirai che la Varianza è in grado di visualizzazioni molto più complesse. Toccheremo brevemente alcuni dei punti principali qui. Variance utilizza i nomi delle diverse parti principali di un grafico per rendere facile la creazione di grafici, incluso La varianza può anche utilizzare i dati collegati, che consente visualizzazioni basate su API che hanno informazioni aggiornate dinamicamente. Oggi, hai imparato come creare un grafico completamente dichiarativo, animato e stilizzato usando i grafici di varianza. Nel tentativo di iniziare rapidamente, abbiamo tralasciato molte delle funzionalità disponibili in Variance, quindi assicurati di verificarlo! Foto di pancetta di jeffreyww su Flickr, edita. Creative Commons 2.0style.css
file:.contenitore larghezza: 50%; margine: 60px auto; .container chart width: 100%; altezza: 400px;
grafico
etichetta.scala-y-lineare
ci dice quale dovrebbe essere la scala della direzione y. Nel nostro caso, il nostro set di dati va a 16000, ma inizia a partire da 20. Per coprire l'intervallo, impostiamo la nostra fascia bassa a 0 e la nostra cima a 20000.guida-x / guida-y
crea una guida di segni di spunta sui rispettivi assi.
esegue loops sui nostri dati e crea elementi in base a ciascun punto di dati.annotazione
è un'etichetta che può essere posizionata attorno a un particolare oggetto, come a bar
. Le parentesi graffe consentono di visualizzare un dato; nel nostro caso, anno
è nel nostro CSV, quindi possiamo facilmente uscire l'anno.bar
crea un elemento bar, e Mappa di lunghezza
definisce la larghezza della barra pancette
mappe per il CSV.Disegnare il grafico
body color: # 3f130c; height: 100%; font-family: sans-serif; background-image: url (... /bg.jpg); background-size: copertura; background-position: center; background-repeat: no-repeat; background-attachment: fixed; h1, h2, h3, h4 font-family: Tauri, sans-serif; .container width: 50%; position: relative; background-image: url (... /bg-blur.jpg); background-size: copertura; background-position: center; background-repeat: no-repeat; background-attachment: fixed; margine: 100px auto; padding: 100px; .bacon-chart position: relative; z-index: 999; .bacon-chart h3 margin: 0 0 1em; .container: after background-color: rgba (255,255,255,0.4); position: absolute; top: 0; a sinistra: 0; width: 100%; height: 100%; soddisfare:""; .container chart width: 100%; altezza: 400px; .bacon-chart bar background-color: rgba (96,28,18,0.7); border: none;
Animazione e suggerimenti
.barra del grafico a bacon background-color: rgba (96,28,18,0.7); border: none; margin:! 0 importante; datum overflow: hidden; .tooltip width: auto; height: auto; background-color: # 444; color: #fff; Opacità: 0; sinistra: -100%; font-size: .6em; -webkit-transition: all .4s; -moz-transition: all .4s; -ms-transition: tutti .4s; -o-transizione: tutti .4s; transizione: tutti .4s; padding: 6px; datum: hover background-color: rgba (255,255,255,0.1); datum: hover .tooltip display: block; opacità: 1; a sinistra: 0;
Animazione
@ -webkit - barre dei keyframeIn 0% bottom: -100%; 100% bottom: 0;
.bacon - chart bar background - color: rgba (96, 28, 18, 0.7); margine: 0! importante; confine: nessuno; altezza: 0; - webkit - animation: barsIn 1s;
-webkit-transform: scale (1, 0)
, ma abbiamo voluto mantenerlo il più semplice possibile. Dovresti anche assicurarti di aggiungere i prefissi appropriati, se necessario.Ulteriori informazioni sulla varianza
punto
,punto
, gamma
, bar
, boxplot
, e linea
. Ognuno di questi ha i propri input determinabili. Questi possono essere utilizzati in combinazione tra loro e possono essere creati in modo iterativo con ripetere
bloccare.Conclusione