<story><title>Stuff that every programmer should know: Data Visualization</title><url>http://c0de517e.blogspot.com/2014/06/stuff-that-every-programmer-should-know.html?</url></story><parent_chain></parent_chain><comment><author>Stubb</author><text>Fun reading. As an aside, I&amp;#x27;ve grown wary of data visualization tools tied too closely to a particular language. Each one is a little different, and while cranking out simple plots never takes much effort, making them look just so for presentation always involvers learning yet another low-level syntax. I&amp;#x27;ve come back full circle to Gnuplot (&lt;a href=&quot;http://www.gnuplot.info/&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.gnuplot.info&amp;#x2F;&lt;/a&gt;), which I originally learned nearly twenty years ago while working on my Ph.D. It forces you to learn a shitty DSL, but you can get at Gnuplot from any environment that supports writing to text files and calling a sub-process. Plots are tweakable to your heart&amp;#x27;s content, and it does a fair job with 3-D graphics. I&amp;#x27;ve reused a surprising amount of code originally written to plot error-control code statistics from Octave into a Ruby project that analyzes wireless network performance. Pretty cool!&lt;p&gt;But if you need interactive 3-D plots (e.g., a wire frame that you can rotate), look elsewhere.</text></comment>
<story><title>Stuff that every programmer should know: Data Visualization</title><url>http://c0de517e.blogspot.com/2014/06/stuff-that-every-programmer-should-know.html?</url></story><parent_chain></parent_chain><comment><author>marvin</author><text>Very nice overview. I am just in the final stages of a Masters thesis in data visualization, and this article gives a really good bird&amp;#x27;s eye view of the field. The visualization field is really too broad that most programmers could be expected to know more than some key points, but given that vision is the highest-bandwidth sense, visual techniques are often given less credit than they deserve. As long as there needs to be a human in the loop, you need good visualizations if your data is more than trivial. D3 is probably good for its domain, but intuition tells me you&amp;#x27;ll have a problem if you mainly use Javascript to handle a 20GB dataset. (I&amp;#x27;m not dismissing this categorically; I am not very familiar with these tools).&lt;p&gt;Unfortunately, to my knowledge there aren&amp;#x27;t any comprehensive textbooks that cover visualization from the ground up. We didn&amp;#x27;t use a single textbook in my 2-year degree; all lectures were heavily based on research papers. Central topics if you want to read up on this is perception (which color scales should you use? how many parameters can you plausibly put in one plot?), different visualization techniques for different data (scatterplots, histograms, treemaps, horizon graphs, volume rendering, graph drawing with edge bundling, +++), interactivity and applications of basic techniques (Visual Analytics, Interactive Visual Analysis).&lt;p&gt;A multitude of scientific fields use different visualization tools, so it can be tricky to find the relevant material for whatever it is you&amp;#x27;re working with. But in general, I think the data mining&amp;#x2F;big data&amp;#x2F;analytics fields could do very well with a bigger focus on visual techniques. If you get the right visualizations for your data, the truth often just jumps out of the screen. GPUs can let you work with multi-gigabyte datasets at interactive framerates, although I haven&amp;#x27;t seen a lot of practical applications of this yet. Can also be used for non-spatial data, if you&amp;#x27;re clever with CUDA or just use the shader data structures creatively. Would be interesting to hear if anyone in the industry uses this yet.</text></comment>