<?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>TULP interactive &#187; Data Visualization</title>
	<atom:link href="http://www.janwillemtulp.com/category/data-visualization/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.janwillemtulp.com</link>
	<description>Freelance information visualizer</description>
	<lastBuildDate>Thu, 12 Jan 2012 16:25:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Global Agenda Survey 2011</title>
		<link>http://www.janwillemtulp.com/2011/11/11/global-agenda-survey-2011/</link>
		<comments>http://www.janwillemtulp.com/2011/11/11/global-agenda-survey-2011/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 15:12:41 +0000</pubDate>
		<dc:creator>Jan Willem Tulp</dc:creator>
				<category><![CDATA[Client Project]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[D3]]></category>
		<category><![CDATA[global agenda]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[moritz stefaner]]></category>
		<category><![CDATA[raphael]]></category>
		<category><![CDATA[world economic forum]]></category>

		<guid isPermaLink="false">http://www.janwillemtulp.com/?p=1351</guid>
		<description><![CDATA[I&#8217;ve had the honor to collaborate with the fabulous Moritz Stefaner on a project for the World Economic Forum. We have created several interactive visualizations that allow users to explore the Global Agenda Survey 2011, a survey held each year by the World Economic Forum to discover the most important trends in the world according [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1351" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F11%2F11%2Fglobal-agenda-survey-2011%2F&amp;text=Global%20Agenda%20Survey%202011&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F11%2F11%2Fglobal-agenda-survey-2011%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.janwillemtulp.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>I&#8217;ve had the honor to collaborate with the fabulous <a title="Moritz Stefaner" href="http://moritz.stefaner.eu" target="_blank">Moritz Stefaner</a> on a project for the <a title="World Economic Forum" href="http://www.weforum.org" target="_blank">World Economic Forum</a>. We have created several <a title="interactive visualizations" href="http://reports.weforum.org/global-agenda-survey-2011/#overlay/interactive-slides/top-trends" target="_blank">interactive visualizations</a> that allow users to explore the Global Agenda Survey 2011, a survey held each year by the World Economic Forum to discover the most important trends in the world according to its council members.</p>
<p>Except for the network graph, the visualization is compatible down to IE6. We achieved this by using <a title="Raphael.js" href="http://raphaeljs.com" target="_blank">raphael.js</a>, <a title="underscore.js" href="http://documentcloud.github.com/underscore/" target="_blank">underscore.js</a>. The network has been created in <a title="D3" href="http://d3js.org" target="_blank">d3.js</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.janwillemtulp.com/2011/11/11/global-agenda-survey-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interview on Fell In Love With Data</title>
		<link>http://www.janwillemtulp.com/2011/10/14/interview-on-fell-in-love-with-data/</link>
		<comments>http://www.janwillemtulp.com/2011/10/14/interview-on-fell-in-love-with-data/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 12:43:17 +0000</pubDate>
		<dc:creator>Jan Willem Tulp</dc:creator>
				<category><![CDATA[D3]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Enrico Bertini]]></category>
		<category><![CDATA[Fell In Love With Data]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[Protovis]]></category>

		<guid isPermaLink="false">http://www.janwillemtulp.com/?p=1284</guid>
		<description><![CDATA[Enrico Bertini from Fell In Love With Data has been so kind to post an interview with me about Protovis and D3. You can read the full interview here. Thanks Enrico!]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1284" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F10%2F14%2Finterview-on-fell-in-love-with-data%2F&amp;text=Interview%20on%20Fell%20In%20Love%20With%20Data&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F10%2F14%2Finterview-on-fell-in-love-with-data%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.janwillemtulp.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Enrico Bertini from <a title="Fell In Love With Data" href="http://www.fellinlovewithdata.com" target="_blank">Fell In Love With Data</a> has been so kind to post an interview with me about <a title="Protovis" href="http://protovis.org" target="_blank">Protovis</a> and <a title="D3" href="http://www.d3js.org" target="_blank">D3</a>.</p>
<p>You can read the full interview <a title="Tools from the Pros #3: Jan Willem Tulp on D3 and Protovis" href="http://fellinlovewithdata.com/guides/tftp-jan-willem-d3-protovis" target="_blank">here</a>.</p>
<p>Thanks Enrico!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.janwillemtulp.com/2011/10/14/interview-on-fell-in-love-with-data/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nerds Unite recap</title>
		<link>http://www.janwillemtulp.com/2011/09/26/nerds-unite-recap/</link>
		<comments>http://www.janwillemtulp.com/2011/09/26/nerds-unite-recap/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 10:26:24 +0000</pubDate>
		<dc:creator>Jan Willem Tulp</dc:creator>
				<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Talk]]></category>
		<category><![CDATA[nerds unite]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[tjoa]]></category>
		<category><![CDATA[tulp]]></category>
		<category><![CDATA[utrecht]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://www.janwillemtulp.com/?p=1274</guid>
		<description><![CDATA[Wednesday I had the honor to give a small presentation about data visualization at Nerds Unite in Utrecht (NL). It was a small group of people who are interested in data, open data, government and of course visualization. After a short introduction I showed some of my work, which was well received. After that Eugene [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1274" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F09%2F26%2Fnerds-unite-recap%2F&amp;text=Nerds%20Unite%20recap&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F09%2F26%2Fnerds-unite-recap%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.janwillemtulp.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Wednesday I had the honor to give a small presentation about data visualization at <a title="Nerds Unite" href="http://www.nerdsunite.nl/" target="_blank">Nerds Unite</a> in Utrecht (NL). It was a small group of people who are interested in data, open data, government and of course visualization. After a short introduction I showed some of my work, which was well received. After that <a title="Eugene Tjoa" href="http://www.tjoadesign.nl/" target="_blank">Eugene Tjoa</a> gave a talk about creating visualizations for the <a title="CBS" href="http://www.cbs.nl/" target="_blank">Central Bureau of Statistics (CBS)</a> in The Netherlands.</p>
<p>It was a great evening with many interesting people. Thanks!</p>
<p><span style="color: #c0c0c0;">Photo by Sebastiaan Terburg</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.janwillemtulp.com/2011/09/26/nerds-unite-recap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Guest posts about Eyeo</title>
		<link>http://www.janwillemtulp.com/2011/06/29/guest-posts-about-eyeo/</link>
		<comments>http://www.janwillemtulp.com/2011/06/29/guest-posts-about-eyeo/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 12:51:28 +0000</pubDate>
		<dc:creator>Jan Willem Tulp</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Data Visualization]]></category>

		<guid isPermaLink="false">http://www.janwillemtulp.com/?p=740</guid>
		<description><![CDATA[I am writing 3 daily guest posts about Eyeo Festival on Infosthetics.com and 1 summary guest post on Visualizing.org. I&#8217;ll update this post with links to each of the individual posts. Day 1 at Eyeo: Converge to Inspire on Infosthetics.com Day 2 at Eyeo: Understanding Complexity on Infosthetics.com Day 3 at Eyeo: the Practice of [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton740" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F06%2F29%2Fguest-posts-about-eyeo%2F&amp;text=Guest%20posts%20about%20Eyeo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F06%2F29%2Fguest-posts-about-eyeo%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.janwillemtulp.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>I am writing 3 daily guest posts about <a href="http://eyeofestival.com">Eyeo Festival</a> on <a href="http://infosthetics.com">Infosthetics.com</a> and 1 summary guest post on <a href="http://visualizing.org">Visualizing.org</a>. I&#8217;ll update this post with links to each of the individual posts.</p>
<ul>
<li><a href="http://infosthetics.com/archives/2011/06/eyeo_day_1.html">Day 1 at Eyeo: Converge to Inspire</a> on Infosthetics.com</li>
<li><a href="http://infosthetics.com/archives/2011/06/day_2_at_eyeo_understanding_complexity.html" target="_blank">Day 2 at Eyeo: Understanding Complexity</a> on Infosthetics.com</li>
<li><a href="http://infosthetics.com/archives/2011/07/day_3_at_eyeo_the_practice_of_digital_information_art.html" target="_blank">Day 3 at Eyeo: the Practice of Digital Information &amp; Art</a> on Infosthetics.com</li>
<li><a href="http://www.visualizing.org/stories/jan-willem-tulp-eyeo" target="_blank">Jan Willem Tulp on Eyeo</a> in Visualizing.org</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.janwillemtulp.com/2011/06/29/guest-posts-about-eyeo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Visualizing Europe</title>
		<link>http://www.janwillemtulp.com/2011/06/15/visualizing-europe/</link>
		<comments>http://www.janwillemtulp.com/2011/06/15/visualizing-europe/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 06:37:01 +0000</pubDate>
		<dc:creator>Jan Willem Tulp</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://www.janwillemtulp.com/?p=714</guid>
		<description><![CDATA[Today was one of those days I won&#8217;t forget very soon: today was Visualizing Europe day, and many enthusiasts, practitioners, researchers and users of data visualization gathered in Brussels for an inspiring day of talks and meeting interesting and kind people from the data visualization community. The day was divided into 3 sessions: the power [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton714" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F06%2F15%2Fvisualizing-europe%2F&amp;text=Visualizing%20Europe&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F06%2F15%2Fvisualizing-europe%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.janwillemtulp.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Today was one of those days I won&#8217;t forget very soon: today was Visualizing Europe day, and many enthusiasts, practitioners, researchers and users of data visualization gathered in Brussels for an inspiring day of talks and meeting interesting and kind people from the data visualization community. The day was divided into 3 sessions:</p>
<ol>
<li>the power and potential of data visualization</li>
<li>a vision for Europe</li>
<li>where do we go from here?</li>
</ol>
<p>The first sessions showed some of the best works currently created in data visualization: Santiago Ortiz from <a title="Bestiario" href="http://www.bestiario.org" target="_blank">Bestiaro</a> showed the power of the visual programming paradigm of <a title="Impure" href="http://www.impure.com/" target="_blank">Impure</a> can be used to create sophisticated data visualizations in minutes (did I say minutes? seconds!)</p>
<p><a href="http://www.janwillemtulp.com/wp-content/uploads/2011/06/impure.jpg"><img class="aligncenter size-full wp-image-716" title="impure" src="http://www.janwillemtulp.com/wp-content/uploads/2011/06/impure.jpg" alt="" width="500" height="213" /></a>Next, <a title="Moritz Stefaner" href="http://moritz.stefaner.eu" target="_blank">Moritz Stefaner</a> showed two of his recent and impressive projects: the <a title="Better Life Index" href="http://www.oecdbetterlifeindex.org/" target="_blank">Better Life Index</a> project that was recently launched by the <a title="OECD" href="http://www.oecd.org/" target="_blank">OECD</a>. And his previous famous project: <a title="Notabilia" href="http://notabilia.net/" target="_blank">Notabilia</a>, which shows deletions on <a title="Wikipedia" href="http://www.wikipedia.org" target="_blank">Wikipedia</a>.</p>
<p><a href="http://www.janwillemtulp.com/wp-content/uploads/2011/06/02_notabilia.png"><img class="aligncenter size-full wp-image-717" title="02_notabilia" src="http://www.janwillemtulp.com/wp-content/uploads/2011/06/02_notabilia.png" alt="" width="710" height="708" /></a></p>
<p>&nbsp;</p>
<p><a title="Enrico Bertini" href="http://twitter.com/FILWD" target="_blank">Enrico Bertini</a> gave a fantastic talk from a research perspective and explained different approaches of making a data visualization for the public and for the tiny group of people who are actually solving real world problems with data visualization. A quote that was tweeted numerous times immediately: &#8220;data visualization is useless, it is indispensable&#8221;. He also highly recommends the book: &#8220;<a title="How Maps Work" href="http://www.amazon.com/How-Maps-Work-Representation-Visualization/dp/0898625890" target="_blank">How Maps Work</a>&#8221; (which of course is on my wishlist now!).</p>
<p>Last but not least of this first sessions was <a title="Dave McCandless" href="http://twitter.com/mccandelish" target="_blank">Dave McCandless</a> from <a title="Information is Beautiful" href="http://www.informationisbeautiful.net/" target="_blank">Information is Beautiful</a>. Dave showed some of his work, and a remarkable quote was: &#8220;I disagree with Moritz, I&#8217;m not looking for 1000 stories, I&#8217;m looking for 1 story that&#8217;s interesting&#8221;.</p>
<p><a href="http://www.janwillemtulp.com/wp-content/uploads/2011/06/billion_dollar_960.gif"><img class="aligncenter size-large wp-image-718" title="billion_dollar_960" src="http://www.janwillemtulp.com/wp-content/uploads/2011/06/billion_dollar_960-695x1024.gif" alt="" width="620" height="913" /></a>After a short coffee break, session 2 started with <a title="Gregor Aisch" href="http://twitter.com/driven_by_data" target="_blank">Gregor Aisch</a> showing how he creates data visualizations as the <a title="Open Spending" href="http://data.wheredoesmymoneygo.org/" target="_blank">Open Spending</a> project for the <a title="Open Knowledge Foundation" href="http://okfn.org/" target="_blank">Open Knowledge Foundation</a>. He proposed a new approach for data visualization, namely &#8216;open data visualization&#8217;, which is open source + open data + open to community. An fascinating idea I&#8217;d like to learn more about.</p>
<p>Assaf Biderman from the <a title="MIT Senseable City Lab" href="http://senseable.mit.edu/" target="_blank">MIT Senseable City Lab</a> impressed us with some of their cutting edge projects they do together with governments and cities, like the <a title="Trash Tag" href="http://senseable.mit.edu/trashtrack/" target="_blank">Trash Tag</a> project which tracks and visualizes where trash is being transported all over the USA after people have emptied their trash bin. Another project that keeps impressing me is the <a title="Copenhagen Wheel" href="http://senseable.mit.edu/copenhagenwheel/" target="_blank">Copenhagen Wheel</a>, an augmentation to bicycles that allows bikers to track their own performance, and at the same time measures various air conditions of the city. This data is collected and visualized to understand more about the city&#8217;s air pollution.</p>
<p style="text-align: center;"><a href="http://www.janwillemtulp.com/wp-content/uploads/2011/06/copenhagen-wheel.jpg"><img class="aligncenter size-full wp-image-722" title="copenhagen wheel" src="http://www.janwillemtulp.com/wp-content/uploads/2011/06/copenhagen-wheel.jpg" alt="" width="614" height="285" /></a></p>
<p>Salvatore Iaconesi from <a title="Art is Open Source" href="http://www.artisopensource.net/" target="_blank">Art is Open Source</a> elaborated on how the artistic world uses data and visualization to change paradigms, for example in supermarkets: while in the supermarket data is visualized on your iPhone and shows the geographic origins of the chemical compounds of your products.</p>
<p>Last but not least, Peter Miller from <a title="ITO World" href="http://www.itoworld.com/" target="_blank">ITO World</a> had to rush through his slides where he showed some very compelling and sometimes fine-grained user contributions to the <a title="Open Streetmap" href="http://www.openstreetmap.org/" target="_blank">Open Streetmap</a> project. It&#8217;s impressive to see how user contributions can lead to sometimes more correct maps than non-crowd-sourced maps.</p>
<p><a href="http://www.janwillemtulp.com/wp-content/uploads/2011/06/ash_europe_x1.jpg"><img class="aligncenter size-full wp-image-726" title="ash_europe_x1" src="http://www.janwillemtulp.com/wp-content/uploads/2011/06/ash_europe_x1.jpg" alt="" width="674" height="281" /></a></p>
<p>The final session was a discussion between Franco Accordino and Jean-Claude Burgelman from the <a title="European Commission" href="http://ec.europa.eu/index_en.htm" target="_blank">Europen Commission</a> and Toby Green from the <a title="OECD" href="http://www.oecd.org" target="_blank">OECD</a>. The main subject was: what did they take from today&#8217;s sessions, and what will they do with it. It was very good to see that the value of data visualization was recognized, and that the EU sees data visualization as one possible and valuable way to create new knowledge, which is very important.</p>
<p>Finally, the day was finished by meeting so many people from the data visualization community. It was amazing to meet so many people whom I&#8217;ve been in contact with for quite some time now. Thanks <a title="VisualizingOrg" href="http://visualizing.org" target="_blank">Visualizing.org</a> for organizing this wonderful day, and everybody who has contributed. It was a memorable experience!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.janwillemtulp.com/2011/06/15/visualizing-europe/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Gost Counties visualization wins DataViz challenge</title>
		<link>http://www.janwillemtulp.com/2011/06/06/gost-counties-visualization-wins-dataviz-challenge/</link>
		<comments>http://www.janwillemtulp.com/2011/06/06/gost-counties-visualization-wins-dataviz-challenge/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 14:07:31 +0000</pubDate>
		<dc:creator>Jan Willem Tulp</dc:creator>
				<category><![CDATA[Challenge]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Data Visualization]]></category>

		<guid isPermaLink="false">http://www.janwillemtulp.com/?p=709</guid>
		<description><![CDATA[Just a short note that I am honored, thrilled and excited to announce that my Ghost Counties data visualization has won the Visualizing.org &#8216;Visualizing the 2010 US Census data visualization challenge&#8216;. A great thank you to the jury from Visualizing.org and Eyeo Festival and all the kind messages I received!]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton709" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F06%2F06%2Fgost-counties-visualization-wins-dataviz-challenge%2F&amp;text=Gost%20Counties%20visualization%20wins%20DataViz%20challenge&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F06%2F06%2Fgost-counties-visualization-wins-dataviz-challenge%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.janwillemtulp.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Just a short note that I am honored, thrilled and excited to announce that my <a title="Ghost Counties" href="http://janwillemtulp.com/eyeo/" target="_blank">Ghost Counties</a> data visualization has won the Visualizing.org &#8216;<a title="http://www.visualizing.org/stories/visualizing-2010-census-challenge" href="http://www.visualizing.org/stories/visualizing-2010-census-challenge" target="_blank">Visualizing the 2010 US Census data visualization challenge</a>&#8216;. A great thank you to the jury from <a title="Visualizing.org" href="http://visualizing.org" target="_blank">Visualizing.or</a>g and <a title="Eyeo Festival" href="http://eyeofestival.com/" target="_blank">Eyeo Festival</a> and all the kind messages I received!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.janwillemtulp.com/2011/06/06/gost-counties-visualization-wins-dataviz-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eyeo Data Visualization Challenge: Ghost Counties</title>
		<link>http://www.janwillemtulp.com/2011/05/16/eyeo-data-visualization-challenge-ghost-counties/</link>
		<comments>http://www.janwillemtulp.com/2011/05/16/eyeo-data-visualization-challenge-ghost-counties/#comments</comments>
		<pubDate>Mon, 16 May 2011 20:59:08 +0000</pubDate>
		<dc:creator>Jan Willem Tulp</dc:creator>
				<category><![CDATA[Challenge]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://www.janwillemtulp.com/?p=691</guid>
		<description><![CDATA[About a day before the deadline I have submitted my entry for the Eyeo Data Visualization Challenge by Visualizing.org where the grand prize is a ticket to the brilliant Eyeo Festival. You can see the final result here: http://www.janwillemtulp.com/eyeo. The visualization depicts the number of homes and vacant homes for all the counties for each [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton691" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F05%2F16%2Feyeo-data-visualization-challenge-ghost-counties%2F&amp;text=Eyeo%20Data%20Visualization%20Challenge%3A%20Ghost%20Counties&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F05%2F16%2Feyeo-data-visualization-challenge-ghost-counties%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.janwillemtulp.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>About a day before the deadline I have submitted my entry for the <a title="Eyeo Data Visualization Challenge" href="http://www.visualizing.org/contests/eyeo-data-visualization-challenge" target="_blank">Eyeo Data Visualization Challenge</a> by <a title="Visualizing.org" href="http://visualizing.org/" target="_blank">Visualizing.org</a> where the grand prize is a ticket to the brilliant <a title="Eyeo Festival" href="http://eyeofestival.com/" target="_blank">Eyeo Festival</a>.</p>
<p>You can see the final result here: <a title="Ghost Counties" href="http://www.janwillemtulp.com/eyeo" target="_blank">http://www.janwillemtulp.com/eyeo</a>.</p>
<p>The visualization depicts the number of homes and vacant homes for all the counties for each state. The size of the outer bubble represents the total number of homes, the size of the inner bubble represents the number of vacant homes. The y-axis shows the population size (on a logarithmic scale) and the x-axis of the bubbels shows the number of vacant homes per population. Each bubble is also connected with a line to another axis: the population / home ratio. On the top right you can see some exact numbers for this data.</p>
<p>This time I built the visualization in <a title="Processing" href="http://www.processing.org" target="_blank">Processing</a>, mainly because I expected to work with large datasets from the <a title="FactFinder2 by UC Census Bureau" href="http://factfinder2.census.gov/faces/nav/jsf/pages/index.xhtml" target="_blank">US Census Bureau</a> and I might had to use some <a title="OpenGL" href="http://en.wikipedia.org/wiki/OpenGL" target="_blank">OpenGL</a> for better performance. Eventually I didn&#8217;t use OpenGL. Building the visualization in Processing was lots of fun. To get sense of the data I tried as many as 5 completely different approaches. Here are some of the sketches that eventually led to this visualization (view this selection on <a title="Sketches on Flickr" href="http://www.flickr.com/photos/janwillemtulp/5727955546/in/set-72157626612248205/" target="_blank">my Flickr stream</a>).</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/janwillemtulp/5727955546/in/set-72157626612248205/"><img class="aligncenter size-full wp-image-699" title="EyeoFlickrSet" src="http://www.janwillemtulp.com/wp-content/uploads/2011/05/EyeoFlickrSet.png" alt="" width="711" height="163" /></a></p>
<p>The data itself was not very complex, but rather big, and the biggest challenge was to find a creative approach to visualize this data, but without using a map (which would be rather obvious since it&#8217;s about locations).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.janwillemtulp.com/2011/05/16/eyeo-data-visualization-challenge-ghost-counties/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SEE#6 conference</title>
		<link>http://www.janwillemtulp.com/2011/04/12/see6-conference/</link>
		<comments>http://www.janwillemtulp.com/2011/04/12/see6-conference/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 06:27:01 +0000</pubDate>
		<dc:creator>Jan Willem Tulp</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Creativity]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://www.janwillemtulp.com/?p=661</guid>
		<description><![CDATA[This weekend I have visited SEE#6 in Wiesbaden, Germany. Although this was the sixth SEE conference, it was my first visit. And I must say, it was overwhelming! Here&#8217;s a brief overview of my experience. Day 1 &#8211; conference The conference was situated in the beautiful Lutherkirche, which was one of the most beautiful and [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton661" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F04%2F12%2Fsee6-conference%2F&amp;text=SEE%236%20conference&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F04%2F12%2Fsee6-conference%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.janwillemtulp.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>This weekend I have visited <a href="http://www.see-conference.org/" target="_blank">SEE#6</a> in <a title="Wiesbaden" href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Wiesbaden,+Germany&amp;aq=0&amp;sll=37.0625,-95.677068&amp;sspn=64.792576,120.673828&amp;ie=UTF8&amp;hq=&amp;hnear=Wiesbaden,+Hesse,+Germany&amp;z=12" target="_blank">Wiesbaden</a>, Germany. Although this was the sixth SEE conference, it was my first visit. And I must say, it was overwhelming! Here&#8217;s a brief overview of my experience.</p>
<h3>Day 1 &#8211; conference</h3>
<p>The conference was situated in the beautiful <a title="Lutherkirche" href="http://www.lutherkirche-wiesbaden.de/" target="_blank">Lutherkirche</a>, which was one of the most beautiful and atmostpheric conference locations I&#8217;ve ever been to. After a friendly welcome from Micheal Volkmer from the hosting organization <a title="Scholz &amp; Volkmer" href="www.s-v.de " target="_blank">Scholz &amp; Volkmer</a>, prof. dr. Harald Welzer. He gave an inspirational talk about sustainability, the main subject of the conference, and he gave us his view on how to fight climate change and change human behavior to improve a sustainable society. <a href="http://www.janwillemtulp.com/wp-content/uploads/2011/04/homebanner520x199HaraldWelzer2.jpg"><img class="aligncenter size-full wp-image-662" title="homebanner520x199HaraldWelzer2" src="http://www.janwillemtulp.com/wp-content/uploads/2011/04/homebanner520x199HaraldWelzer2.jpg" alt="" width="520" height="199" /></a></p>
<p>After the keynote Carlo Ratti of the <a title="MIT SenseLab" href="http://senseable.mit.edu/" target="_blank">MIT Senseable City Lab</a> in Boston showed us some of his recent projects on how ubiquitous computing is entering our society more and more, and how sensors can help cities and citizens to be more aware of the environment, and improve sustainability. On this image you see a visualization by the Lab that shows real-time whether and rain situation in combination with taxi locations: are taxi&#8217;s on places where they are needed the most?<a href="http://www.janwillemtulp.com/wp-content/uploads/2011/04/Raining-taxis-575x431.png"><img class="aligncenter size-full wp-image-663" title="Raining-taxis-575x431" src="http://www.janwillemtulp.com/wp-content/uploads/2011/04/Raining-taxis-575x431.png" alt="" width="575" height="431" /></a></p>
<p>After a break, the young and talented <a title="Alexander Lehman" href="http://www.alexanderlehmann.net/" target="_blank">Alexander Lehman</a> took over. He showed us some of his animated infographics, and how he uses satire to tell a story. He elaborated on his most successful project: &#8220;du bist terrorist&#8221; where he uses satire in an attempt to make people more aware about the increasing danger of the government collecting all kinds of data about its citizens.</p>
<p style="text-align: center;"><a href="http://www.janwillemtulp.com/wp-content/uploads/2011/04/du-bist-terrorist.jpg"><img class="aligncenter size-full wp-image-665" title="du-bist-terrorist" src="http://www.janwillemtulp.com/wp-content/uploads/2011/04/du-bist-terrorist.jpg" alt="" width="461" height="209" /></a></p>
<p style="text-align: left;"><a title="Brendan Dawes" href="http://www.brendandawes.com/" target="_blank">Brendan Dawes</a> had a very humorous and inspirational talk about how he is using his creativity to do very inspiring projects, both for customers as personal research projects. He had many great examples of his projects and one of them was a homebuilt digital/wooden weather indicator: not because it really solves a problem, but just because it&#8217;s fun and cool:</p>
<p style="text-align: left;"><a href="http://www.janwillemtulp.com/wp-content/uploads/2011/04/5277291272_e6ae2db4ec_b.jpg"><img class="aligncenter size-medium wp-image-671" title="5277291272_e6ae2db4ec_b" src="http://www.janwillemtulp.com/wp-content/uploads/2011/04/5277291272_e6ae2db4ec_b-300x168.jpg" alt="" width="300" height="168" /></a></p>
<p><a title="Wesley Grubbs" href="http://twitter.com/#!/pitchinteractiv" target="_blank">Wesley Grubbs</a> from <a title="Pitch Interactive" href="http://www.pitchinteractive.com/beta/index.php" target="_blank">Pitch Interactive</a> showed us some of his great projects. Projects where he has visualized many rows of data that resulted in high resolution (and long rendering time) images. One of his most compelling examples was a visualization where he shows some insight in how the US Defense is spending its money.</p>
<p style="text-align: left;"><a href="http://www.janwillemtulp.com/wp-content/uploads/2011/04/budget_vs_media_small2.jpg"><img class="aligncenter size-full wp-image-666" title="budget_vs_media_small2" src="http://www.janwillemtulp.com/wp-content/uploads/2011/04/budget_vs_media_small2.jpg" alt="" width="540" height="302" /></a>After the beautiful images from Wesley, Joshua-Prince Rasmus from <a title="REX" href="http://www.rex-ny.com/" target="_blank">REX</a> architects gave his presentation. Before the conference I didn&#8217;t really know how architecture would fit in a conference about information visualization, but it turned out that this was one of the talks that impressed me most. At REX they&#8217;ve defined a very strong process of doing work for clients. Joshua talked us through it. He showed the beautiful images he uses in presentations to show his ideas, and at REX they&#8217;re brilliant in working within constraints, creating flexible buildings and, perhaps most importantly, really understand their clients, so that they eventually build something clients really understand and agree with. Great talk!</p>
<p style="text-align: left;"><a href="http://www.janwillemtulp.com/wp-content/uploads/2011/04/20091222101446_01_REX_Seattle.jpg"><img class="aligncenter size-full wp-image-673" title="seattle-pxz2" src="http://www.janwillemtulp.com/wp-content/uploads/2011/04/20091222101446_01_REX_Seattle.jpg" alt="" width="500" height="320" /></a></p>
<p style="text-align: left;">Final talk was by the talented Justin Manor from <a title="Sosolimited" href="http://www.sosolimited.com/" target="_blank">Sosolimited</a>. Justin inspired us by showing a few of his great installations. One that he gave special attention was real-time analysis of political debates, where a very large number of different approaches were shown how to interpret, categorize and analyze the words and sentences politicians are saying. His visualization is built in <a title="Processing" href="http://www.processing.org" target="_blank">Processing</a>.<a href="http://www.janwillemtulp.com/wp-content/uploads/2011/04/prime-numerics-02.jpg"><img class="aligncenter size-full wp-image-674" title="prime-numerics-02" src="http://www.janwillemtulp.com/wp-content/uploads/2011/04/prime-numerics-02.jpg" alt="" width="610" height="336" /></a> This concluded the first day.</p>
<h3 style="text-align: left;">Day 2 &#8211; discussion and workshop</h3>
<p>The second day was an extra day for data visualization die hards, to have some good discussions about data visualization. The discussion was led by 3 prominent people from the data visualization community: <a title="Moritz Stefaner" href="http://moritz.stefaner.eu/" target="_blank">Moritz Stefaner</a>, <a title="Andrew vandeMoere" href="http://infosthetics.com/" target="_blank">Andrew vandeMoere</a> and <a title="Benjamin Wiederkehr" href="http://datavisualization.ch/" target="_blank">Benjamin Wiederkehr</a>. The day was basically split into 2 halves where the first part was a discussion, and the second part some of the presenters of the conference gave some insight in how they do their work.</p>
<p>The discussion took of immediately after the main topics had been presented:</p>
<ul>
<li>how to engage people through visualization?</li>
<li>how to use visualization to change people?</li>
<li>&#8220;facts are useless, stories are everything!&#8221; (quote by prof. dr. Harald Welzer made during the keynote on the first day)</li>
<li>what is the impact of <a title="data.gov" href="http://data.gov" target="_blank">data.gov</a> shutting down?</li>
<li>how can design critique push the community forward?</li>
</ul>
<p>Although all of these topics were a used as a starting point for the discussion, the main topic of the discussion evolved around questions like:</p>
<ul>
<li>as a (visualization) designer, should you help the user make his conclusion?</li>
<li>is linear storytelling, like the satire movies from Alexander Lehman, the right way of passing information to the user?</li>
<li>can you really be objective if you visualize data?</li>
<li>is showing war casualties, for example like the one from<a title="Stamen: home and away" href="http://stamen.com/clients/cnn_home_and_away" target="_blank"> Stamen design</a>, a good way to really engage people?</li>
</ul>
<p>The discussion was really interesting, and people had some very good points. But at the same time I found it somewhat hard to really take a stand in this, because I really think it depends. Anyway, after a short break, some of the presenters from day 1 gave some insight into their work process, things they run into, etc.</p>
<ul>
<li>Wesley Grubbs showed us some more details on how he approaches visualization work for both clients and as personal research projects, like handling large amounts of data.</li>
<li>Alexander Lehman showed us how he uses <a title="3DS Max" href="http://usa.autodesk.com/3ds-max/" target="_blank">3DS Max</a> to create his infographic movies, and how the overkill on functionality of 3DS Max actually helps him to be very productive.</li>
<li>Moritz Stefaner gave a very short but great introduction to <a title="Protovis" href="http://www.protovis.org" target="_blank">Protovis</a>, and how you could use <a title="Google Docs" href="http://docs.google.com/" target="_blank">Google Docs</a> cleverly to use it as a real-time data source for your visualization</li>
<li>Justin Manor showed some more of his great installations with water, pneumatics, LED, Processing, <a title="Arduino" href="http://www.arduino.cc/" target="_blank">Arduino</a>, etc., and various ways of how they were made.</li>
</ul>
<p>That wraps it up.</p>
<p>The conference was a blast! It was so inspiring, a great location, fantastic speakers, and very good talks! I am looking forward to SEE#7 conference.</p>
<p>If you want to see the full talks of SEE#6, go to <a title="SEE conference video stream" href="http://www.see-conference.org/video-stream/" target="_blank">http://www.see-conference.org/video-stream/</a>. On the conference website you can also see video registrations of <a title="previous talks video registration" href="http://www.see-conference.org/speakers/" target="_blank">previous talks</a>, which are highly recommended to watch!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.janwillemtulp.com/2011/04/12/see6-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial: Line chart in D3</title>
		<link>http://www.janwillemtulp.com/2011/04/01/tutorial-line-chart-in-d3/</link>
		<comments>http://www.janwillemtulp.com/2011/04/01/tutorial-line-chart-in-d3/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 09:15:00 +0000</pubDate>
		<dc:creator>Jan Willem Tulp</dc:creator>
				<category><![CDATA[D3]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.janwillemtulp.com/?p=642</guid>
		<description><![CDATA[One of the most common visualizations is a line chart. D3 is not a charting framework, but instead allows you to manipulate the document based on data. That&#8217;s what you&#8217;re actually doing with D3: adding elements to a document, removing them, updating them, etc. The advantage is that you are much more flexible in creating [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton642" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F04%2F01%2Ftutorial-line-chart-in-d3%2F&amp;text=Tutorial%3A%20Line%20chart%20in%20D3&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F04%2F01%2Ftutorial-line-chart-in-d3%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.janwillemtulp.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a href="http://www.janwillemtulp.com/wp-content/uploads/2011/03/Line-chart.png"><img class="aligncenter size-full wp-image-648" title="Line chart" src="http://www.janwillemtulp.com/wp-content/uploads/2011/03/Line-chart.png" alt="" width="450" height="220" /></a></p>
<p>One of the most common visualizations is a <a title="line chart" href="http://en.wikipedia.org/wiki/Line_chart" target="_blank">line chart</a>. <a title="D3" href="http://mbostock.github.com/d3/" target="_blank">D3</a> is not a charting framework, but instead allows you to manipulate the document based on data. That&#8217;s what you&#8217;re actually doing with D3: adding elements to a document, removing them, updating them, etc. The advantage is that you are much more flexible in creating the visualization that you want. Some may consider it a slight disadvantage that you may do have to do some extra work to get things done.</p>
<p>For this tutorial we&#8217;re going to create a basic line chart with an x-axis and y-axis, tickmarks and labels.</p>
<p>First, we defined some variables:</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
var data = [3, 6, 2, 7, 5, 2, 1, 3, 8, 9, 2, 5, 7],
w = 400,
h = 200,
margin = 20,
y = d3.scale.linear().domain([0, d3.max(data)]).range([0 + margin, h - margin]),
x = d3.scale.linear().domain([0, data.length]).range([0 + margin, w - margin])
</pre>
<p>The <code>data</code> variable contains our dataset we want to display as a line chart. The <code>w</code> and <code>h</code> variables are used for the width and height of our chart and the <code>margin</code> will be used to create some room to display our labels. The <code>y</code> and <code>x</code> variables are our linear scale functions, and remember that you can use <code>x</code> and <code>y</code> as functions. The scales are used to convert our data values (which are defined in the <code>domain</code> of the scale) to x- and y-positions on the screen (which are defined in the <code>range</code> of the scale). Note the use of <code>margin</code> in the range.</p>
<p>Next we append an <code>svg</code> element to our document with the proper width and height, and then we append a <code>g</code> element to this <code>svg</code> element so that all the elements that will be appended to this <code>g</code> element will be grouped together. The transformation that we apply on the <code>g</code> element makes sure that our coordinate grid moves down 200 pixels.</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
var vis = d3.select(&quot;body&quot;)
    .append(&quot;svg:svg&quot;)
    .attr(&quot;width&quot;, w)
    .attr(&quot;height&quot;, h)

var g = vis.append(&quot;svg:g&quot;)
    .attr(&quot;transform&quot;, &quot;translate(0, 200)&quot;);
</pre>
<p>In order to create a line chart, we&#8217;re going to add an <code>path</code> element to our visualization. This <code>path</code> element needs a <code>d</code> attribute that contains the data for the path. Now, you could write that yourself, but that may be a little hard to do, so we use the helper function <code>d3.svg.line</code> to do that for us (see <a title="Tutorial: Line interpolations in D3" href="http://www.janwillemtulp.com/2011/03/23/tutorial-line-interpolations-in-d3/" target="_blank">Tutorial: Line interpolations in D3</a> for more details on this helper function). Now we add the <code>line</code> variable which is, just like the scales earlier, a function that you can call. So when we bind our data to the path, this <code>d3.svg.line</code> function will be called so that the value of the <code>d</code> attribute will be created:</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
var line = d3.svg.line()
    .x(function(d,i) { return x(i); })
    .y(function(d) { return -1 * y(d); })
</pre>
<p>The <code>i</code> parameter is the index of the current item, and the <code>d</code> is the current item itself. Note the usage of the scale functions (<code>x()</code> and <code>y()</code> to convert from <code>i</code> and <code>d</code> to x- and y-coordinates (note the -1. This is needed because right now the coordinate have a positive y-axis down, and since we have translated our <code>g</code> down 200 pixels, we need to use the negative values of the y-axis now). To use our <code>line</code> function we add a <code>path</code> element to our <code>g</code> element like this:</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
g.append(&quot;svg:path&quot;).attr(&quot;d&quot;, line(data));
</pre>
<p>Next up is adding the x-axis and y-axis. The following snippet adds them by appending a <code>line</code> to our <code>g</code> element.</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
g.append(&quot;svg:line&quot;)
    .attr(&quot;x1&quot;, x(0))
    .attr(&quot;y1&quot;, -1 * y(0))
    .attr(&quot;x2&quot;, x(w))
    .attr(&quot;y2&quot;, -1 * y(0))

g.append(&quot;svg:line&quot;)
    .attr(&quot;x1&quot;, x(0))
    .attr(&quot;y1&quot;, -1 * y(0))
    .attr(&quot;x2&quot;, x(0))
    .attr(&quot;y2&quot;, -1 * y(d3.max(data)))
</pre>
<p>Next are the labels. We can use a convenient function of the scales here: <code>x.ticks()</code> and <code>y.ticks()</code>. These functions will return the proper tickmarks, and you can provide how many you want. D3 does return nicely rounded numbers though. Also note the <code>.text(String)</code> usage for obtaining the string value of the current data item. The labels are aligned in the center by using <code>.attr("text-anchor", "middle")</code>. And for the y-labels I&#8217;ve used <code>dy</code> in order to vertically position the labels correctly.</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
g.selectAll(&quot;.xLabel&quot;)
	.data(x.ticks(5))
	.enter().append(&quot;svg:text&quot;)
	.attr(&quot;class&quot;, &quot;xLabel&quot;)
	.text(String)
	.attr(&quot;x&quot;, function(d) { return x(d) })
	.attr(&quot;y&quot;, 0)
	.attr(&quot;text-anchor&quot;, &quot;middle&quot;)

g.selectAll(&quot;.yLabel&quot;)
	.data(y.ticks(4))
	.enter().append(&quot;svg:text&quot;)
	.attr(&quot;class&quot;, &quot;yLabel&quot;)
	.text(String)
	.attr(&quot;x&quot;, 0)
	.attr(&quot;y&quot;, function(d) { return -1 * y(d) })
	.attr(&quot;text-anchor&quot;, &quot;right&quot;)
	.attr(&quot;dy&quot;, 4)
</pre>
<p>The last thing to do is to add the ticks themselves. These are actually just very short lines, so all you have to do is to provide the start x- and y position (<code>x1</code> and <code>y1</code>) and the end x- and y-position (<code>x2</code> and <code>y2</code>).</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
g.selectAll(&quot;.xTicks&quot;)
	.data(x.ticks(5))
	.enter().append(&quot;svg:line&quot;)
	.attr(&quot;class&quot;, &quot;xTicks&quot;)
	.attr(&quot;x1&quot;, function(d) { return x(d); })
	.attr(&quot;y1&quot;, -1 * y(0))
	.attr(&quot;x2&quot;, function(d) { return x(d); })
	.attr(&quot;y2&quot;, -1 * y(-0.3))

g.selectAll(&quot;.yTicks&quot;)
	.data(y.ticks(4))
	.enter().append(&quot;svg:line&quot;)
	.attr(&quot;class&quot;, &quot;yTicks&quot;)
	.attr(&quot;y1&quot;, function(d) { return -1 * y(d); })
	.attr(&quot;x1&quot;, x(-0.3))
	.attr(&quot;y2&quot;, function(d) { return -1 * y(d); })
	.attr(&quot;x2&quot;, x(0))
</pre>
<p>And that&#8217;s it. Finally, some of the styling of the objects was moved to a style section at the top of the page in order to get the final result:</p>
<pre class="brush: css; title: Code snippet; notranslate">
path {
    stroke: steelblue;
    stroke-width: 2;
    fill: none;
}

line {
    stroke: black;
}

text {
    font-family: Arial;
    font-size: 9pt;
}
</pre>
<p>View a live version <a href="http://janwillemtulp.com/d3linechart/" title="d3 line chart" target=_blank">here</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.janwillemtulp.com/2011/04/01/tutorial-line-chart-in-d3/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Tutorial: Line interpolations in D3</title>
		<link>http://www.janwillemtulp.com/2011/03/23/tutorial-line-interpolations-in-d3/</link>
		<comments>http://www.janwillemtulp.com/2011/03/23/tutorial-line-interpolations-in-d3/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 08:48:19 +0000</pubDate>
		<dc:creator>Jan Willem Tulp</dc:creator>
				<category><![CDATA[D3]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.janwillemtulp.com/?p=596</guid>
		<description><![CDATA[In this tutorial we&#8217;re going to explore line interpolations in D3. First we start with 2 scales that we will use to convert values to x- and y-coordinates on the screen: Next we generate some random data: We&#8217;re also creating an array which contains all the possible interpolations D3 supports. We&#8217;ll see the effects of [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton596" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F03%2F23%2Ftutorial-line-interpolations-in-d3%2F&amp;text=Tutorial%3A%20Line%20interpolations%20in%20D3&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.janwillemtulp.com%2F2011%2F03%2F23%2Ftutorial-line-interpolations-in-d3%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.janwillemtulp.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p style="text-align: center;">In this tutorial we&#8217;re going to explore line <a title="interpolations" href="http://en.wikipedia.org/wiki/Interpolation" target="_blank">interpolations</a> in <a title="D3" href="http://mbostock.github.com/d3/" target="_blank">D3</a>.</p>
<p>First we start with 2 scales that we will use to convert values to x- and y-coordinates on the screen:</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
var x = d3.scale.linear().domain([0,10]).range([0,400]),
y = d3.scale.linear().domain([0,1]).range([0,50]),
groupHeight = 60,
topMargin = 100
</pre>
<p>Next we generate some random data:</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
var data = []
d3.range(10).forEach(function(d) { data.push(Math.random()) })
</pre>
<p>We&#8217;re also creating an array which contains all the possible interpolations D3 supports. We&#8217;ll see the effects of every interpolation in a moment:</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
var interpolations = [
	&quot;linear&quot;,
	&quot;step-before&quot;,
	&quot;step-after&quot;,
	&quot;basis&quot;,
	&quot;basis-closed&quot;,
	&quot;cardinal&quot;,
	&quot;cardinal-closed&quot;]
</pre>
<p>In SVG there is a difference between a <code>line</code> and a <code>path</code>. A <code>line</code> is a straight line where you define the start and end position of the line: , whereas with a path you draw the outline of any arbitrary shape by specifying a series of connected lines, arcs, and curves. You do this by specifying the <code>d</code> attribute of the <code>path</code>. Every path must begin with a moveto command. The command letter is a capital <code>M</code> followed by an x- and y-coordinate, separated by commas or whitespace. This command sets the current location of the &#8220;pen&#8221; that&#8217;s drawing the outline. This is followed by one or more lineto commands, denoted by a capital <code>L</code>, also followed by x- and y-coordinates, and separated by commas or whitespace. You can see more of this specification <a title="W3C SVG Path specification" href="http://www.w3.org/TR/SVG/paths.html" target="_blank">here</a>.</p>
<p>In our example we&#8217;re not actually creating an SVG line, but an SVG path, so we need to set the <code>d</code> attribute of the paht. Luckily D3 has a helper function to ease the burden to create this data: <code>d3.svg.line</code>. For this helper function you can set:</p>
<ul>
<li>an accessor function for obtaining x values</li>
<li>an accessor function for obtaining y values</li>
<li>an interpolation type, which defaults to <code>linear</code></li>
<li>a tension value which affects the <code>cardinal</code> interpolations only</li>
</ul>
<p>In our example, we want to show the different kinds of interpolations for the same data, so we create a function that takes the name of an interpolation as an argument, and then returns the <code>d3.svg.line</code> function as a result. This is the code that does that (you can play with the out-commented <code>tension</code> property to see the effect):</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
function getLine(interpolation) {
    return d3.svg.line().x(function(d,i) {
        return x(i)
    }).y(function(d) {
        return y(d)
    }).interpolate(interpolation)
//.tension(0)
}
</pre>
<p>Note the following: the function for x has 2 arguments: <code>d</code> and <code>i</code>. The <code>d</code> is the current item in the dataset (which we will provide later), and <code>i</code> is the index of the current item in the dataset. Also note that we&#8217;re using the x-scale to convert <code>i</code> to an x-coordinate, and the y-scale to convert the data value to a y-coordinate.</p>
<p>Now we initialize the visualization:</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
var vis = d3.select(&quot;body&quot;)
	.append(&quot;svg:svg&quot;)
	.attr(&quot;class&quot;, &quot;vis&quot;)
	.attr(&quot;width&quot;, window.width)
	.attr(&quot;height&quot;, window.height)
</pre>
<p>Next up is greating a group for each of the lines we want to show:</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
var lg = vis.selectAll(&quot;.lineGroup&quot;)
	.data(interpolations)
	.enter().append(&quot;svg:g&quot;)
	.attr(&quot;class&quot;, &quot;lineGroup&quot;)
	.attr(&quot;transform&quot;, function(d,i) {
	return &quot;translate(100,&quot; + (topMargin + i * groupHeight) + &quot;)&quot;
}).each(drawLine)
</pre>
<p>We set the interpolations array as data for this group, so that <code>svg:g</code> elements for each of the interpolations will be added to the visualization. The <code>svg:g</code> element can be used to <a title="W3C SVG Groups specification" href="http://www.w3.org/TR/SVG/struct.html#Groups" target="_blank">group</a> other elements together, so that if you apply a transformation to the group for instance, it will be applied to all of its members. Note that we add the class <code>lineGroup</code> in our selection to select all these elements. Next we set the <code>transform</code> attribute, and we use the index to position the groups based on their position in the interpolation array. For each of the group, we want to draw a line. We do that by calling the <code>drawLine</code> function in the <code>.each(drawLine)</code> statement. The drawLine function itself looks like this:</p>
<pre class="brush: jscript; title: Code snippet; notranslate">
function drawLine(p,j) {
	d3.select(this)
		.selectAll(&quot;.lineGroup&quot;)
		.data(data)
		.enter().append(&quot;svg:path&quot;)
		.attr(&quot;d&quot;, getLine(p)(data))
		.attr(&quot;fill&quot;, &quot;none&quot;)
		.attr(&quot;stroke&quot;, &quot;steelblue&quot;)
		.attr(&quot;stroke-width&quot;, 3)
		//.attr(&quot;stroke-dasharray&quot;, &quot;15 5&quot;)
}
</pre>
<p>The drawLine function itself has to parameters: <code>p</code> and <code>j</code> where <code>p</code> is the parent data item (the current interpolation name), and <code>j</code> is the parent index. First we select the current element with <code>d3.select(this)</code>, and next we select all the <code>.lineGroup</code> elements. We assign the line data to the data property, and append a <code>path</code> to each <code>lineGroup</code> element. The <code>d</code> attribute calls the <code>getLine</code> function and provides the current interpolation name as an argument. The result of that is the <code>d3.svg.line</code> function with the that uses the interpolation we just provided. Next we assign the line data to this function so that D3 will calculate the <code>data</code> string that will be used by the <code>d</code> attribute of the <code>svg:path</code> element. Finally we set some basic properties. The final out-commented is one of the <code>stroke</code> <a title="W3C Stroke Properties specification" href="http://www.w3.org/TR/SVG/painting.html#StrokeProperties" target="_blank">properties</a> you can set, where 15 is the dash length and 5 is the gap length. Just play around with those properties to see what else is possible.</p>
<p>This concludes this tutorial. All the lines you see are using the same data, but they use different interpolations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.janwillemtulp.com/2011/03/23/tutorial-line-interpolations-in-d3/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

