<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Visualisation de données | Undisconnected</title>
	<atom:link href="https://undisconnected.com/category/design-2/visualisation-de-donnees/feed/" rel="self" type="application/rss+xml" />
	<link>https://undisconnected.com</link>
	<description>Reste connecté</description>
	<lastBuildDate>Tue, 25 Jul 2017 14:06:29 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Calculer un pourcentage de différence entre 2 chiffres</title>
		<link>https://undisconnected.com/calculer-un-pourcentage-de-difference-entre-2-chiffres/</link>
					<comments>https://undisconnected.com/calculer-un-pourcentage-de-difference-entre-2-chiffres/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Sun, 08 May 2016 12:34:16 +0000</pubDate>
				<category><![CDATA[Personnel / Détente / Autre]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[maths]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2698</guid>

					<description><![CDATA[<p>Un peu de mathématiques aujourd&#8217;hui. Il arrive souvent d&#8217;avoir à calculer un pourcentage d&#8217;augmentation ou…</p>
The post <a href="https://undisconnected.com/calculer-un-pourcentage-de-difference-entre-2-chiffres/">Calculer un pourcentage de différence entre 2 chiffres</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Un peu de mathématiques aujourd&rsquo;hui. Il arrive souvent d&rsquo;avoir à calculer un pourcentage d&rsquo;augmentation ou simple de différence entre 2 chiffres ou 2 montants.</p>
<p>Voici la solution simple pour le faire avec comme exemple le chiffre de base 271 et le 2ème chiffre 462 :</p>
<pre class="lang:default decode:true ">(462 − 271) ÷ 271 × 100 = 70.48</pre>
<p>Dans ce cas le 2ème chiffre représente une augmentation de 70.48% par rapport au premier chiffre. La formule à retenir est donc :</p>
<pre class="lang:default decode:true ">(montant2 - montant1) ÷ montant1 × 100 = pourcentage de la variation</pre>
<p>Voilà, ce n&rsquo;était pas bien compliqué au final <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>&nbsp;</p>The post <a href="https://undisconnected.com/calculer-un-pourcentage-de-difference-entre-2-chiffres/">Calculer un pourcentage de différence entre 2 chiffres</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/calculer-un-pourcentage-de-difference-entre-2-chiffres/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Créer un diagramme circulaire avec Google Charts</title>
		<link>https://undisconnected.com/creer-un-diagramme-circulaire-avec-google-charts/</link>
					<comments>https://undisconnected.com/creer-un-diagramme-circulaire-avec-google-charts/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Tue, 24 Feb 2015 05:17:18 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2527</guid>

					<description><![CDATA[<p>Grossièrement appelés diagrammes de Normandie « camemberts », les diagrammes circulaires sont parfaits pour résumer un ensemble de données…</p>
The post <a href="https://undisconnected.com/creer-un-diagramme-circulaire-avec-google-charts/">Créer un diagramme circulaire avec Google Charts</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Grossièrement appelés <del>diagrammes de Normandie</del> « camemberts », les diagrammes circulaires sont parfaits pour résumer un ensemble de données à une variable. Il est très facile de créer ce type de diagramme grâce à des librairies comme Highchart ou Google Charts. Aujourd&rsquo;hui, je vais vous montrer comment créer un diagramme circulaire grâce à Google Chart.</p>
<p>&nbsp;</p>
<pre class="lang:default decode:true">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Diagramme circulaire&lt;/title&gt;
&lt;meta charset="UTF-8"&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    // Chart 1
    var data = google.visualization.arrayToDataTable([['OS Mobile', 'Parts de marché'],["Android",71.40],["iOS",14.70],["Windows Phone",10.60],["Blackberry",1.00],["Autres",2.30]]);
    var options = {
      title: 'Parts de marché des OS Mobile en Juin 2014 (France)'
    };
    var chart = new google.visualization.PieChart(document.getElementById('piechart'));
    chart.draw(data, options);
  }
&lt;/script&gt;

&lt;div id="piechart" style="width: 100%; height: 500px;"&gt;&amp;nbsp;&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
<p style="border: 0px; width: 100%; height: 400px;"><iframe width="300" height="150" style="border: 1px solid #e5e5e5; width: 100%; height: 400px;" src="https://undisconnected.com/sandbox/circulaire-google-chart/index.html"></iframe></p>
<p>Comme vous le voyez, avec juste ces quelques lignes de code, on peut créer un diagramme circulaire vraiment facilement grâce à Google Charts.</p>
<p>Pratique pour un projet rapide, ou montrer des statistiques à votre boss d&rsquo;une belle façon.</p>The post <a href="https://undisconnected.com/creer-un-diagramme-circulaire-avec-google-charts/">Créer un diagramme circulaire avec Google Charts</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/creer-un-diagramme-circulaire-avec-google-charts/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Tutoriel : Introduction à la librarie javascript d3.js</title>
		<link>https://undisconnected.com/tutoriel-introduction-d3-js/</link>
					<comments>https://undisconnected.com/tutoriel-introduction-d3-js/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Mon, 01 Apr 2013 16:05:08 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[d3.js]]></category>
		<category><![CDATA[d3js]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[librarie]]></category>
		<category><![CDATA[tutoriel]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=1926</guid>

					<description><![CDATA[<p>Voici le premier d&#8217;une longue lignée (je l&#8217;espère) de tutoriaux en français portant sur la…</p>
The post <a href="https://undisconnected.com/tutoriel-introduction-d3-js/">Tutoriel : Introduction à la librarie javascript d3.js</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Voici le premier d&rsquo;une longue lignée (je l&rsquo;espère) de tutoriaux en français portant sur la librarie d3.js. Pour en savoir plus sur cette librairie reportez vous à la <a href="https://undisconnected.com/d3-js-data-visualisation/">présentation que j&rsquo;en ai fait sur ce post</a>. L&rsquo;objectif de ce premier tutoriel est de faire quelques exemples d&rsquo;utilisation très simple de la librairie.</p>
<p>A l&rsquo;instart de Jquery, d3.js est une librarie qui permet de manipuler le DOM. Mais là où d3.js est très efficace est dans la manipulation de SVG.</p>
<h2>Manipuler ou créer une div avec d3.js</h2>
<p><iframe width="100%" height="300" src="http://jsfiddle.net/undisconnected/E3RCc/5/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe></p>
<h2>Ajouter et manipuler un rectangle SVG</h2>
<p><iframe width="100%" height="300" src="http://jsfiddle.net/undisconnected/8aRkP/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe></p>
<h2>Dessiner plusieurs éléments dans un groupe svg</h2>
<p><iframe loading="lazy" width="100%" height="300" src="http://jsfiddle.net/undisconnected/8aRkP/1/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe></p>
<h2>Gérer des données au format JSON et dessiner en fonction de ces données</h2>
<p>Dans ce dernier exemple, nous allons construire des nodes qui sont en fait des groupes svg ayant la class « node ». Ensuite, on va dessiner, suivant les données (variable data) un cercle et afficher le nom de ce cercle dans celui -ci.</p>
<p><iframe loading="lazy" width="100%" height="300" src="http://jsfiddle.net/undisconnected/asCT4/1/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe></p>
<p>Le dernier exemple introduit plusieurs nouveaux concepts : selectAll(), data(), et enter().</p>
<h3>selectAll()</h3>
<p>la methode de selection selectAll permet, comme son nom l&rsquo;indique de selectionner les éléments définis par le selecteur css passé en argument. selectAll(« p ») va selectionner tous les éléments présents dans le DOM.</p>
<h3>data()</h3>
<p>La methode data() permet de « binder » (attacher) des données à des éléments sélectionnés par la methode selectAll(). Ces données une fois attachées seront utilisables dans la suite du chainage. Exemple : attr(« fill »,function(d){return d.color});</p>
<h3>enter()</h3>
<p>Cette fonction va « binder » les données à des éléments et créer les éléments sélectionnés par selectAll(). Si vous n&rsquo;utilisez pas enter() alors aucun élément ne sera crée. Seul les éléments existants seront utilisés et donc s&rsquo;il sont inexistant, rien ne s&rsquo;affichera.</p>
<h2>Ressources</h2>
<ul>
<li><a href="https://www.w3schools.com/graphics/svg_intro.asp" target="_blank" rel="noopener noreferrer">W3 School, documentation sur le SVG</a></li>
<li><a href="http://d3js.org/" target="_blank" rel="noopener noreferrer">Le site de d3.js</a></li>
<li>Approfondir sur le DOM (Document Object Model)</li>
</ul>The post <a href="https://undisconnected.com/tutoriel-introduction-d3-js/">Tutoriel : Introduction à la librarie javascript d3.js</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/tutoriel-introduction-d3-js/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>Highcharts utilisé dans le journal Le Monde</title>
		<link>https://undisconnected.com/highcharts-le-monde/</link>
					<comments>https://undisconnected.com/highcharts-le-monde/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Tue, 02 Oct 2012 21:06:22 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Informatique général]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[highcharts]]></category>
		<category><![CDATA[le monde]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=1818</guid>

					<description><![CDATA[<p>Je suis tombé récemment sur un article du journal Le Monde qui utilisait Highcharts pour…</p>
The post <a href="https://undisconnected.com/highcharts-le-monde/">Highcharts utilisé dans le journal Le Monde</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Je suis tombé récemment sur un article du journal Le Monde qui utilisait Highcharts pour visualiser l&rsquo;augmentation de l&rsquo;impôt sur le revenu en fonction des parts et des revenus de chaque ménage. </p>
<h2>Highcharts arrive à maturité</h2>
<p>Il est interessant de voir que le journal Le Monde se sert de cette librairie pour exposer des graphiques sur son site. Serait-ce l&rsquo;âge de la maturité enfin arrivé pour cette librairie ô combien géniale ! </p>
<p>Je dois dire que je vois de plus en plus de réalisation graphique faites avec Highcharts. Je pense personnellement que la visualisation de données se démocratise et que des fois un graphique vaux 1000 mots.</p>
<p>Voici l&rsquo;article en question : <a title="Article Le Monde" href="http://www.lemonde.fr/economie/article/2012/10/01/impots-ce-que-vous-allez-vraiment-payer_1768213_3234.html">Impôts : ce que vous allez vraiment payer</a></p>
<p><a href="https://undisconnected.com/wp-content/uploads/2012/10/Capture-d’écran-2012-10-02-à-16.17.11.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1819" title="Capture d’écran 2012-10-02 à 16.17.11" src="https://undisconnected.com/wp-content/uploads/2012/10/Capture-d’écran-2012-10-02-à-16.17.11.png" alt="" width="556" height="552" srcset="https://undisconnected.com/wp-content/uploads/2012/10/Capture-d’écran-2012-10-02-à-16.17.11.png 556w, https://undisconnected.com/wp-content/uploads/2012/10/Capture-d’écran-2012-10-02-à-16.17.11-150x150.png 150w, https://undisconnected.com/wp-content/uploads/2012/10/Capture-d’écran-2012-10-02-à-16.17.11-300x297.png 300w, https://undisconnected.com/wp-content/uploads/2012/10/Capture-d’écran-2012-10-02-à-16.17.11-302x300.png 302w" sizes="auto, (max-width: 556px) 100vw, 556px" /></a></p>
<h2>Conclusion </h2>
<p>Je vous rappelle que pour vos tests Highcharts, le site<a href="http://www.data.gouv.fr/" target="_blank"> data.gouv.fr</a> est très interessant et possède un grand nombre de dataset pertinents.</p>
<h2>Ressources </h2>
<ul>
<li><a title="Article Le Monde" href="http://www.lemonde.fr/economie/article/2012/10/01/impots-ce-que-vous-allez-vraiment-payer_1768213_3234.html" target="_blank">Article Le Monde</a></li>
<li><a href="http://www.highcharts.com/" target="_blank">Le site de la librarie Highcharts</a></li>
</ul>The post <a href="https://undisconnected.com/highcharts-le-monde/">Highcharts utilisé dans le journal Le Monde</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/highcharts-le-monde/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Visualisation de données avec sigma.js</title>
		<link>https://undisconnected.com/visualisation-de-donnees-avec-sigma-js/</link>
					<comments>https://undisconnected.com/visualisation-de-donnees-avec-sigma-js/#respond</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Sat, 21 Jul 2012 16:20:23 +0000</pubDate>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[librairie]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[visualisation]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=1790</guid>

					<description><![CDATA[<p>Je viens de tomber sur une nouvelle librairie Javascript qui permet de faire de la…</p>
The post <a href="https://undisconnected.com/visualisation-de-donnees-avec-sigma-js/">Visualisation de données avec sigma.js</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Je viens de tomber sur une nouvelle librairie Javascript qui permet de faire de la visualisation de données en réseau (network graph). Je n&rsquo;ai pas encore eu le temps de l&rsquo;essayer mais je vais certainement me pencher dessus rapidement.</p>
<p>Voici le type de graphique réalisable : </p>
<p><a href="https://undisconnected.com/wp-content/uploads/2012/07/networkgraph.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1791" title="networkgraph" alt="" src="https://undisconnected.com/wp-content/uploads/2012/07/networkgraph.jpg" width="600" height="400" srcset="https://undisconnected.com/wp-content/uploads/2012/07/networkgraph.jpg 600w, https://undisconnected.com/wp-content/uploads/2012/07/networkgraph-300x200.jpg 300w, https://undisconnected.com/wp-content/uploads/2012/07/networkgraph-450x300.jpg 450w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></p>
<p>Je vous laisse regarder les exemples sur cette page : </p>
<p><a href="http://sigmajs.org/">http://sigmajs.org/</a></p>
<p>Si quelqu&rsquo;un à déjà utilisé cette librairie, je serais interessé d&rsquo;avoir des avis dessus, alors laissez un commentaire. </p>The post <a href="https://undisconnected.com/visualisation-de-donnees-avec-sigma-js/">Visualisation de données avec sigma.js</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/visualisation-de-donnees-avec-sigma-js/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Infographie de malade : Évolution des navigateurs web à travers le monde</title>
		<link>https://undisconnected.com/infographie-de-malade-evolution-des-navigateurs-web-a-travers-le-monde/</link>
					<comments>https://undisconnected.com/infographie-de-malade-evolution-des-navigateurs-web-a-travers-le-monde/#respond</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Tue, 17 Jul 2012 16:02:46 +0000</pubDate>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Infographique]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[infographie]]></category>
		<category><![CDATA[navigateur]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=1779</guid>

					<description><![CDATA[<p>Je viens de tomber sur une infographie de malade ! Il s&#8217;agit d&#8217;une video montrant…</p>
The post <a href="https://undisconnected.com/infographie-de-malade-evolution-des-navigateurs-web-a-travers-le-monde/">Infographie de malade : Évolution des navigateurs web à travers le monde</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Je viens de tomber sur une infographie de malade ! Il s&rsquo;agit d&rsquo;une video montrant l&rsquo;évolution des différents navigateurs web (IE, Firefox, Chrome, Opéra et autres) dans chaque pays à travers le temps. (de 2008 à aujourd&rsquo;hui). </p>
<p>On peut voir la tendance mondiale de la chute de Internet Explorer et la montée de Chrome très clairement. Ce qui est interessant dans cette vidéo est de pouvoir comparer par pays ou par continent. On s&rsquo;aperçoit que cette tendance n&rsquo;est pas mondiale. Internet Explorer reste vraiment majoritaire aux en Amérique du Nord, en Chine et en Australie. Par contre en Russie, en Inde et en Amérique du Sud chrome possède la meilleure part de marché. Firefox à pour sa part conquis l&rsquo;Europe, la Mongolie et une grosse partie de l&rsquo;Afrique du Nord.</p>
<p>La vidéo à été faites par statcounter.com.</p>
<p>Ressources : </p>
<ul>
<li><a href="http://statcounter.com/">Le site Statcounter</a></li>
<li><a href="http://www.youtube.com/watch?v=jtBlvutR9cU&amp;feature=player_embedded">La vidéo sur Youtube</a></li>
</ul>The post <a href="https://undisconnected.com/infographie-de-malade-evolution-des-navigateurs-web-a-travers-le-monde/">Infographie de malade : Évolution des navigateurs web à travers le monde</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/infographie-de-malade-evolution-des-navigateurs-web-a-travers-le-monde/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>D3.js : un pas de plus vers la data visualisation sur le web</title>
		<link>https://undisconnected.com/d3-js-data-visualisation/</link>
					<comments>https://undisconnected.com/d3-js-data-visualisation/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Wed, 04 Jul 2012 02:49:26 +0000</pubDate>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[d3]]></category>
		<category><![CDATA[d3.js]]></category>
		<category><![CDATA[graphique]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[librarie]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=1597</guid>

					<description><![CDATA[<p>D3.js est une librarie graphique écrite en Javascript crée par Mike Bostock déjà auteur de…</p>
The post <a href="https://undisconnected.com/d3-js-data-visualisation/">D3.js : un pas de plus vers la data visualisation sur le web</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>D3.js est une librarie graphique écrite en Javascript crée par Mike Bostock déjà auteur de la librarie Protovis. D3.js est en fait une évolution de protovis, son nom proviens de l&rsquo;abréviation de Data-Driven Document. </p>
<h2>Pourquoi D3.js au lieu de Protovis</h2>
<p>D&rsquo;après ce que j&rsquo;ai compris, Mike Bostock a décidé d&rsquo;arrêter le développement  de Protovis pour commencer celui de d3.js dans le but d&rsquo;offrir à tous une librarie puissante pour la visualisation basé sur des standards du W3C (HTML, SVG et CSS) au lieu de s&rsquo;attacher à un framework propriétaire. D3.js est clairement axé Web et visualisation de données, ainsi il est très simple de manipuler des données via le DOM (Document Object Model).</p>
<h2>Quelques exemples avec D3.js</h2>
<p><a href="http://mbostock.github.com/d3/ex/force.html" target="_blank">Network Force Directed graph</a></p>
<p><a href="http://mbostock.github.com/d3/ex/force.html" target="_blank"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1765" title="network" src="https://undisconnected.com/wp-content/uploads/2012/07/network.jpg" alt="" width="600" height="150" srcset="https://undisconnected.com/wp-content/uploads/2012/07/network.jpg 600w, https://undisconnected.com/wp-content/uploads/2012/07/network-300x75.jpg 300w, https://undisconnected.com/wp-content/uploads/2012/07/network-500x125.jpg 500w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></p>
<p><a target="_blank" href="http://www.nytimes.com/interactive/2012/05/17/business/dealbook/how-the-facebook-offering-compares.html">New York Times</a></p>
<p><a target="_blank" href="http://www.nytimes.com/interactive/2012/05/17/business/dealbook/how-the-facebook-offering-compares.html"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1758" title="new-york-times" src="https://undisconnected.com/wp-content/uploads/2012/07/new-york-times.jpg" alt="" width="600" height="150" srcset="https://undisconnected.com/wp-content/uploads/2012/07/new-york-times.jpg 600w, https://undisconnected.com/wp-content/uploads/2012/07/new-york-times-300x75.jpg 300w, https://undisconnected.com/wp-content/uploads/2012/07/new-york-times-500x125.jpg 500w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></p>
<p><a target="_blank" href="http://mbostock.github.com/d3/talk/20111018/cluster.html">Cluster Layout</a></p>
<p><a target="_blank" href="http://mbostock.github.com/d3/talk/20111018/cluster.html"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1759" title="cluster" src="https://undisconnected.com/wp-content/uploads/2012/07/cluster.jpg" alt="" width="600" height="150" srcset="https://undisconnected.com/wp-content/uploads/2012/07/cluster.jpg 600w, https://undisconnected.com/wp-content/uploads/2012/07/cluster-300x75.jpg 300w, https://undisconnected.com/wp-content/uploads/2012/07/cluster-500x125.jpg 500w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></p>
<p><a target="_blank" href="http://square.github.com/cubism/">Cubism.js</a></p>
<p><a target="_blank" href="http://square.github.com/cubism/"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1760" title="cubismjs" src="https://undisconnected.com/wp-content/uploads/2012/07/cubismjs.jpg" alt="" width="600" height="150" srcset="https://undisconnected.com/wp-content/uploads/2012/07/cubismjs.jpg 600w, https://undisconnected.com/wp-content/uploads/2012/07/cubismjs-300x75.jpg 300w, https://undisconnected.com/wp-content/uploads/2012/07/cubismjs-500x125.jpg 500w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></p>
<p><a target="_blank" href="http://www.jasondavies.com/wordcloud/#http%3A%2F%2Fsearch.twitter.com%2Fsearch.json%3Frpp%3D100%26q%3D%7Bword%7D=cloud">Tag Cloud </a></p>
<p><a target="_blank" href="http://www.jasondavies.com/wordcloud/#http%3A%2F%2Fsearch.twitter.com%2Fsearch.json%3Frpp%3D100%26q%3D%7Bword%7D=cloud"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1761" title="tagcloud" src="https://undisconnected.com/wp-content/uploads/2012/07/tagcloud.jpg" alt="" width="600" height="150" srcset="https://undisconnected.com/wp-content/uploads/2012/07/tagcloud.jpg 600w, https://undisconnected.com/wp-content/uploads/2012/07/tagcloud-300x75.jpg 300w, https://undisconnected.com/wp-content/uploads/2012/07/tagcloud-500x125.jpg 500w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></p>
<p><a target="_blank" href="http://mbostock.github.com/d3/talk/20111018/choropleth.html">Choropleth</a></p>
<p><a target="_blank" href="http://mbostock.github.com/d3/talk/20111018/choropleth.html"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1762" title="cloropleth" src="https://undisconnected.com/wp-content/uploads/2012/07/cloropleth.jpg" alt="" width="600" height="150" srcset="https://undisconnected.com/wp-content/uploads/2012/07/cloropleth.jpg 600w, https://undisconnected.com/wp-content/uploads/2012/07/cloropleth-300x75.jpg 300w, https://undisconnected.com/wp-content/uploads/2012/07/cloropleth-500x125.jpg 500w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></p>
<p><a target="_blank" href="http://mbostock.github.com/d3/ex/pack.html">Circle Packing</a></p>
<p><a target="_blank" href="http://mbostock.github.com/d3/ex/pack.html"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1763" title="circle-packing" src="https://undisconnected.com/wp-content/uploads/2012/07/circle-packing.jpg" alt="" width="600" height="150" srcset="https://undisconnected.com/wp-content/uploads/2012/07/circle-packing.jpg 600w, https://undisconnected.com/wp-content/uploads/2012/07/circle-packing-300x75.jpg 300w, https://undisconnected.com/wp-content/uploads/2012/07/circle-packing-500x125.jpg 500w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></p>
<h2>Conclusion</h2>
<p>Comme vous pouvez le voir d3.js est la source de beaucoup de type de représentations graphiques différentes mais aussi à la base de quelques libraries / plugins. Ainsi se termine la présentation (rapide je l&rsquo;avoue) de la librarie d3.js. A suivre un tutoriel pour mettre en place son premier graphique avec la librarie.</p>The post <a href="https://undisconnected.com/d3-js-data-visualisation/">D3.js : un pas de plus vers la data visualisation sur le web</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/d3-js-data-visualisation/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Comment mettre des données à l&#8217;échelle avec un calcul simple</title>
		<link>https://undisconnected.com/mettre-donnees-echelle/</link>
					<comments>https://undisconnected.com/mettre-donnees-echelle/#respond</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Tue, 19 Jun 2012 12:35:13 +0000</pubDate>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[données]]></category>
		<category><![CDATA[echelle]]></category>
		<category><![CDATA[mise à l'échelle]]></category>
		<category><![CDATA[normalisation]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=1700</guid>

					<description><![CDATA[<p>Je suis actuellement en train de construire un plugin pour WordPress. Ce plugin a pour…</p>
The post <a href="https://undisconnected.com/mettre-donnees-echelle/">Comment mettre des données à l’échelle avec un calcul simple</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Je suis actuellement en train de construire un plugin pour WordPress. Ce plugin a pour but d&rsquo;afficher un tag cloud basé sur une librarie JS (d3.js) qui permet un rendu différent et amélioré du tag cloud de base de WordPress. Des fois certaines contraintes nous obligent à travailler à l&rsquo;echelle (plus grand ou plus petit) et donc de normaliser un set de données.</p>
<h2>L&rsquo;exemple par le tag cloud (nuage de mots-clés)</h2>
<p>Pour un tag cloud le principe consiste à compter le nombre de fois qu&rsquo;un mot apparaît dans le blog (Ce nombre peut-être de grandeur très variable, par exemple un mot peu apparaître 10 fois comme un autre pourrait apparaître 1000 fois). Ensuite il faut afficher la liste des mots les plus trouvés et les faire apparaître avec une taille de police en fonction de leur nombre d&rsquo;apparition dans le blog.</p>
<h2>Le problème : Pourquoi mettre à l&rsquo;echelle</h2>
<p>Une police est quelque chose qui ne peut pas être modulé dans de grands écarts. Une police de caractère à 1000px par exemple risque de poser un petit problème de design. Et de même un mot qui n&rsquo;aurait pas une grande fréquence dans un blog ne pourra pas se voir affubler une police à 2px. Vous voyez le problème.</p>
<h2>La solution : Comment mettre à l&rsquo;echelle</h2>
<p>La solution à ce problème est d&rsquo;appliquer une normalisation à votre échelle de donnée. Le principe est de « mapper » chaque valeur à sa valeur à l&rsquo;échelle. Voici le calcul/code à utiliser :</p>
<pre class="brush: php; gutter: true">//Dataset pour le tag cloud
$data = array("font" =&gt; 327, "design" =&gt; 1234, "jquery" =&gt; 123, "php" =&gt; 231, "visualisation" =&gt; 756, "html5" =&gt; 465, "wordpress" =&gt; 899, "javascript" =&gt; 534);

// Fixer un minimun et un maximum pour la font (en pixel)
$fontMin = 12;
$fontMax = 32;

//Trouver le minimum et le maximum du dataset
$datasetMin = min($data);
$datasetMax = max($data);

// Calculer les écarts
$ecartDataset  = $datasetMax - $datasetMin;
$ecartFont     = $fontMax - $fontMin;
$seuil         = $ecartFont / $ecartDataset;

// Boucle sur chaque mot 
$dataNormalise = "";
foreach($data as $texte =&gt; $freq){
   $fontSize = $fontMin + ($freq - $datasetMin) * $seuil;
   $dataNormalise[$texte] = $fontSize;
}

var_dump($dataNormalise);

</pre>
<p>Résultat du array normalisé entre 12 et 32 :</p>
<pre>array(8) {
  ["font"]=&gt;
  float(15.6723672367)
  ["design"]=&gt;
  float(32)
  ["jquery"]=&gt;
  float(12)
  ["php"]=&gt;
  float(13.9441944194)
  ["visualisation"]=&gt;
  float(23.395139514)
  ["html5"]=&gt;
  float(18.1566156616)
  ["wordpress"]=&gt;
  float(25.9693969397)
  ["javascript"]=&gt;
  float(19.398739874)
}
</pre>
<h2>Conlusion</h2>
<p>Il s&rsquo;agit donc de mapper chaque valeur pour obtenir un nombre entre le minimum et le maximum voulu. Personnellement j&rsquo;utilise cette technique / formule pour travailler avec des libraries graphiques comme protovis ou d3.js. C&rsquo;est assurément à garder dans sa boite à outil ! A noté que le code est ici en PHP mais ceci peu très bien se faire en n&rsquo;importe quel autre language.</p>The post <a href="https://undisconnected.com/mettre-donnees-echelle/">Comment mettre des données à l’échelle avec un calcul simple</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/mettre-donnees-echelle/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Comment charger des données via Ajax avec Highcharts</title>
		<link>https://undisconnected.com/comment-charger-des-donnees-via-ajax-avec-highcharts/</link>
					<comments>https://undisconnected.com/comment-charger-des-donnees-via-ajax-avec-highcharts/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Wed, 23 May 2012 17:50:02 +0000</pubDate>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[highcharts]]></category>
		<category><![CDATA[prix essence]]></category>
		<category><![CDATA[visualisation]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=1629</guid>

					<description><![CDATA[<p>J&#8217;utilise de plus en plus Highcharts à mon travail et je l&#8217;apprécie de plus en…</p>
The post <a href="https://undisconnected.com/comment-charger-des-donnees-via-ajax-avec-highcharts/">Comment charger des données via Ajax avec Highcharts</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>J&rsquo;utilise de plus en plus Highcharts à mon travail et je l&rsquo;apprécie de plus en plus. Voici un tutoriel qui va vous apprendre à utiliser Highcharts avec ajax. Je vais illustrer ce tutoriel avec un dataset plutôt d&rsquo;actualité : le prix de l&rsquo;essence mis en comparaison au prix du pétrole.</p>
<h2>Que va t&rsquo;on apprendre dans ce tutoriel sur Highcharts ?</h2>
<ul>
<li>Comment charger des données via AJAX dans Highcharts</li>
<li>Comment ajouter un 2ème axe Y à un graphique pour comparer des valeurs d&rsquo;ordre différent.</li>
<li>Comment travailler les labels des axes X et Y</li>
<li>Comment insérer plusieurs séries de données dans un graph</li>
</ul>
<h2>Charger des données via AJAX dans Highcharts</h2>
<p>Pour charger des données via AJAX dans Highcharts, il s&rsquo;agit de construire un objet javascript contenant les options qui vont servir à générer le graph, il suffit donc de déclarer un objet et de lui attribuer les options de bases : </p>
<pre class="brush: javascript; gutter: true">var chart;
var colors = ["#98DF8A", "#FFBB78", "#8C564B"];
var options = {};

options.chart = {
  renderTo: 'essenceChart',
  width: 588,
  height: 400,
  marginTop: 70,
  marginLeft: 100,
  marginRight: 100,
  type:'line'
};

options.credits = {
  enabled: false
};

options.colors = colors;

options.title = {
  text: "Évolution du prix de l'essence et du baryl de pétrole de 1995 à 2012",
  margin: 10
};

options.tooltip = {
  formatter: function() {
    return "Dépense : " + number_format(this.y,3,',',' ') + "€" ;
  }
};
</pre>
<h3>Définition des variables</h3>
<p>On créer la variable « chart » qui va servir à instancier le graphique plus tard.<br /> On créer la array « colors » pour définir ses couleurs personnelles et ainsi overwriter les couleurs par défaut.<br /> On créer l&rsquo;objet « options » qui va contenir tous les paramètres définissant le graphique.</p>
<h3>Définition des paramètres du graph</h3>
<p>« options.chart » représente les paramètres généraux du graph. On va pouvoir renseigner le type, la taille, les margins, le container &#8230;<br /> « options.credits » permet de supprimer le lien vers Highcharts en bas à droite<br /> « options.colors » définit les couleurs à utiliser (couleur par défaut si non renseigné)<br /> « options.title » permet de donner un titre au graphique<br /> « options.tooltip » permet de formater l&rsquo;affichage du tooltip (étiquette au passage de la souris)</p>
<h2>Créer 2 axes Y dans Highcharts</h2>
<p>Le but de créer de axe Y est de pouvoir comparer 2 valeurs d&rsquo;ordre différent. Dans notre exemple, on va comparer le prix de l&rsquo;essence en euro avec une valeur autour de 1€ et le prix de baryl de pétrole en $ autour de 50$. Vous voyez où je veux en venir ?</p>
<pre class="brush: javascript; gutter: true">options.yAxis = [
  {
    title : {
      text: "Gazoil &amp; Super 95 (€)"
    },
    labels: {
    formatter: function() {
      return this.value +' €';
    },
    style: {
      color: '#000'
    }
  }
  },{
  title: {
    text: "Baryl brent ($US)"
  },
  labels: {
    formatter: function() {
      return this.value +' $';
    },
    style: {
      color: '#8C564B'
    }
  },
  opposite: true
}];
</pre>
<p>Je pense que la définition de l&rsquo;objet parle d&rsquo;elle même, en gros on créer un array contenant deux objets définissant chaque axe. La beauté de Highcharts réside dans le fait qu&rsquo;elle va s&rsquo;occuper de mettre à l&rsquo;échelle les axes en fonction des valeurs fournis, donc rien à faire de ce côté là.</p>
<h2>Mettre en place l&rsquo;axe des X avec une rotation des labels</h2>
<pre class="brush: javascript; gutter: true">options.xAxis = {
  categories: [],
  labels: {
    rotation: -45,
		y: 20
  }
};
</pre>
<p>Encore une fois c&rsquo;est assez parlant, vous pouvez jouer avec la valeur de rotation du label pour arriver au résultat souhaité.</p>
<h2>Insérer plusieurs dataset dans un graphique</h2>
<p>Cela se traduit par insérer plusieurs courbe dans notre graphique avec pour chaque courbe ses valeurs propres.</p>
<pre class="brush: javascript; gutter: true">options.series = [
  {
    name: 'Gazoil (€)',
    data: []
  },
  {
    name: 'Super 95 (€)',
    data: []
  },
  {
    name: 'Baryl de pétrole ($US)',
    yAxis: 1,
    data: []
  }
]
</pre>
<p>Ici nous créons donc un array de series, chaque element de cet array est un objet définissant le nom et le array qui recevra les données via ajax.</p>
<h2>Préparation du fichier HTML qui va recevoir le graphique</h2>
<pre>&lt;!DOCTYPE HTML&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Undisconnected - Prix essence illustré avec Highcharts&lt;/title&gt;

&lt;meta http-equiv=&amp;amp;quot;Content-Type&amp;amp;quot; content=&amp;amp;quot;text/html; charset=UTF-8&amp;amp;quot; /&gt;

&lt;!-- Libs --&gt;
&lt;script type=&amp;amp;#039;text/javascript&amp;amp;#039; src=&amp;amp;#039;https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js&amp;amp;#039;&gt;&lt;/script&gt;
&lt;script type=&amp;amp;#039;text/javascript&amp;amp;#039; src=&amp;amp;#039;../js/Highcharts-2.1.9/js/highcharts.js&amp;amp;#039;&gt;&lt;/script&gt;
&lt;script type=&amp;amp;#039;text/javascript&amp;amp;#039; src=&amp;amp;#039;../js/utils.js&amp;amp;#039;&gt;&lt;/script&gt;
&lt;script type=&amp;amp;#039;text/javascript&amp;amp;#039; src=&amp;amp;#039;main.js&amp;amp;#039;&gt;&lt;/script&gt;

&lt;/head&gt;
&lt;body style=&amp;amp;#039;margin:0px;&amp;amp;#039;&gt;
&lt;div class=&amp;amp;#039;wrapper&amp;amp;#039;&gt;
&lt;div id=&amp;amp;#039;essenceChart&amp;amp;#039;&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
<h2>Chargement des données dans Highchart</h2>
<p>Pour charger les données en ajax, j&rsquo;utilise ici la methode get de Jquery pour aller lire le fichier de donnees JSON. Il suffit ensuite de manipuler les données dans votre fonction de callback pour aller nourrir les array de data de chacune de vos series. On en profite pour créer les categories (les labels) qui apparaîtrons sur l&rsquo;axe des X.</p>
<pre class="brush: javascript; gutter: true">$.getJSON('https://undisconnected.com/sandbox/highcharts-essence/prix-essence.json', function(essence) {

    $.each(essence, function(i,e){

      var theDate = new Date(parseInt(i),0,1);

      options.series[0].data.push(e.gazoil);
      options.series[1].data.push(e.super95);
      options.series[2].data.push(e.brent);
      options.xAxis.categories.push(i);

    })
    console.log(options.categories)
    chart = new Highcharts.Chart(options);

  });
</pre>
<h2>Le resultat</h2>
<p><iframe loading="lazy" style="width: 588px; height: 430px;" src="https://undisconnected.com/sandbox/highcharts-essence/" height="240" width="320"></iframe></p>
<h2>Conclusion</h2>
<p>J&rsquo;espère que vous aurez pris plaisir à suivre ce tutoriel. Highcharts permet de customiser vos graphiques en javascript de manière simple, efficace et rapide. Comme vous le voyez, faire ce graphique n&rsquo;est pas une tâche ultra complexe et pourtant le résultat obtenu est vraiment interessant.</p>
<h2>Ressources :</h2>
<ul>
<li><a href="https://undisconnected.com/sandbox/highcharts-essence/main.js">Le fichier javascript au complet</a></li>
<li><a href="http://www.highcharts.com/">Highcharts</a></li>
</ul>The post <a href="https://undisconnected.com/comment-charger-des-donnees-via-ajax-avec-highcharts/">Comment charger des données via Ajax avec Highcharts</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/comment-charger-des-donnees-via-ajax-avec-highcharts/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
	</channel>
</rss>
