Aujourd'hui, nous allons plonger dans les tableaux de variance; une "grammaire de graphiques" basée sur JavaScript et fournissant un style de balisage abstrait et déclaratif pour créer des graphiques qui seraient autrement assez complexes. Les diagrammes de variance se situent quelque part entre D3.js et HighCharts, offrant de la flexibilité tout en conservant une syntaxe accessible.
L'utilisation de diagrammes de variance ne repose pas sur une connaissance approfondie de JavaScript. Nous allons jeter un coup d'oeil!
Variance fournit une version non commerciale, hébergée via son propre CDN, que vous devez inclure dans votre page, comme suit:
Vous voudrez inclure un style.css
déposer aussi bien. Nous ne passerons pas par le processus d’explication de la configuration de base du fichier HTML, car la plupart de ces détails sont simples..
Variance peut lire à la fois JSON et CSV; nous allons créer un graphique à barres simple en utilisant les données CSV non officielles suivantes sur la popularité du bacon:
année, bacons 1990,20 1995,231 2000,639 2005,1625 2010,7000 2015,16000
Comme nous pouvons le constater à partir de ces paires de valeurs, le bacon devient de plus en plus populaire. Par exemple, la paire 1990,20
montre que le bacon était 20
populaire (peu importe ce que ça veut dire) à 1990
, mais ensuite par 1995
la popularité était montée à 231
.
Mais vraiment, pour voir cela visuellement, nous aimerions le présenter en utilisant un graphique à barres. Voici un exemple de la manière dont nous balisons notre graphique (nous allons passer en revue les différents éléments dans un instant).
Données de bacon
année
Nous aurons également besoin de quelques CSS pour définir la taille du graphique. Pour ce faire, nous allons emballer l’ensemble de nos balises dans un Notez quelques choses ici: Génial! Maintenant, comment pouvons-nous le rendre moins laid? Pour styliser le graphique, nous appelons simplement les éléments normaux en CSS. Les éléments de barre du graphique sont des éléments DOM normaux au niveau du bloc et sont positionnés à l'aide de flexbox. Nous allons ajouter quelques styles à notre CSS, qui devrait alors ressembler à ceci:. Remarque: nous avons ajouté une police Google au fichier d'index au-dessus de notre lien style.css: Nous avons inclus un petit bonus ici: l'effet "fenêtre floue" peut être vu créé entre les éléments container et body. Pour ce faire, nous utilisons une seconde image de fond.. Nous avons maintenant un graphique plus utile. Mais ça va beaucoup, beaucoup mieux. Il est temps de prendre des précautions, en commençant par quelques info-bulles sur les barres. Pour démarrer, nous allons ajouter une nouvelle annotation pour chaque barre, afin que notre balise graphique ressemble à ceci: Après cela, nous ajouterons de nouveaux styles à notre CSS, ce qui permettra d’obtenir des effets de survol intéressants et des transitions simples pour l’aide: Enfin, nous souhaitons animer nos barres. Nous y parviendrons avec une animation par images clés: Que nous appliquerons ensuite à notre élément barre: Ceci peut également être accompli en utilisant quelque chose comme Variance explique très bien des exemples plus complexes et fournit un excellent index de documentation. Vous constaterez que Variance est capable de visualisations beaucoup plus complexes. Nous aborderons brièvement certains des points principaux. Variance utilise les noms de différentes parties principales d’un graphique pour faciliter sa construction, notamment: Variance peut également utiliser des données liées, ce qui permet des visualisations gérées par des API contenant des informations mises à jour de manière dynamique.. Aujourd'hui, vous avez appris à créer un graphique stylé, entièrement déclaratif, à l'aide de graphiques de variance. Afin de vous aider à démarrer rapidement, nous avons laissé de côté une grande partie des fonctionnalités disponibles dans Variance, alors assurez-vous de vérifier par vous-même.! Photo de Bacon par jeffreyww sur Flickr, modifiée. Creative Commons 2.0style.css
fichier:.conteneur largeur: 50%; marge: auto 60px; .container chart width: 100%; hauteur: 400px;
graphique
étiquette.échelle-y-linéaire
nous dit quelle devrait être l’échelle de la direction y. Dans notre cas, notre ensemble de données va à 16 000, mais commence à 20 points..guide-x / guide-y
crée un repère sur les axes respectifs.
boucle sur nos données et crée des éléments en fonction de chaque point de données.annotation
est une étiquette qui peut être placée autour d'un élément particulier, tel qu'un bar
. Les accolades vous permettent d’afficher une donnée; dans notre cas, année
est dans notre CSV, donc nous pouvons facilement sortir année.bar
crée un élément de barre, et longueur de la carte
définit la largeur de la barre lardons
cartes vers le CSV.Styliser le graphique
corps color: # 3f130c; hauteur: 100%; famille de polices: sans-serif; background-image: url (… /bg.jpg); taille du fond: couverture; position de fond: centre; répétition de fond: non répétée; attachement de fond: fixe; h1, h2, h3, h4 font-family: Tauri, sans-serif; .container width: 50%; position: relative; background-image: url (… /bg-blur.jpg); taille du fond: couverture; position de fond: centre; répétition de fond: non répétée; attachement de fond: fixe; marge: auto 100px; rembourrage: 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: absolue; en haut: 0; gauche: 0; largeur: 100%; hauteur: 100%; contenu:""; .container chart width: 100%; hauteur: 400px; .bacon-chart bar background-color: rgba (96,28,18,0,7); bordure: aucune;
Animation et infobulles
.bacon-chart couleur d'arrière-plan: rgba (96,28,18,0,7); bordure: aucune; marge: 0! important; datum débordement: caché; .tooltip width: auto; hauteur: auto; couleur de fond: # 444; couleur: #fff; opacité: 0; à gauche: -100%; taille de police: .6em; -webkit-transition: tous les fichiers .4; -moz-transition: tous les 0,4; -ms-transition: tous les 0,4; -o-transition: tous les 0,4; transition: tous .4; rembourrage: 6px; donnée: hover background-color: rgba (255,255,255,0.1); date: survol .tooltip display: block; opacité: 1; gauche: 0;
Animation
@ -webkit - images clés barsIn 0% en bas: -100%; 100% en bas: 0;
.bacon - barre graphique fond - couleur: rgba (96, 28, 18, 0,7); marge: 0! important; bordure: aucune; hauteur: 0; - webkit - animation: barsIn 1s;
-webkit-transform: échelle (1, 0)
, mais nous voulions le garder aussi simple que possible. Vous devez également vous assurer que vous ajoutez les préfixes appropriés si nécessaire.Plus sur la variance
point
,point
, intervalle
, bar
, boîte à moustaches
, et ligne
. Chacun de ceux-ci ont leurs propres entrées déterminables. Ceux-ci peuvent tous être utilisés en combinaison les uns avec les autres, et peuvent être créés de manière itérative avec le répéter
bloc.Conclusion