Useful Resources
If you have other interesting visualization tool, resource, tutorial, example, please post on slack to share with your classmates.
Data Sets
- Data sets from the International Monetary Fund
- Structured data about Panama papers collected from the official ICIJ website
- The Armed Conflict Database maintained by Uppsala University
- World Bank doing business database
- World Bank's Global Development Indicators
- UNDP Human Development Index
- OECD Aid Database
- Global Consumption and Income Project
- Civic Data Sets for the Pacific Northwest
- 30 Places to Find Open Data on the Web – Visual.ly
- Office for National Statistics (UK) - a repository of detailed statistics about Great Britain and Northern Irland
- World Bank Data Catalog
- CDC NCHS Data - CDC's National Center for Health Statistics Data Access
- Machine Learning Repository - large variety of maintained data sets
Tools
Visualization Toolkits
A variety of useful toolkits have been designed to help support information visualization applications. Some include support for the full visualization pipeline from data to interactive graphics, while others focus only on a subset, typically graphics and interaction.
- Chartist.js - An (easier to use) JavaScript library than D3.
- D3 - A JavaScript library for data-driven DOM manipulation, interaction and animation. Includes utilities for visualization techniques and SVG generation.
- Processing and Processing.js - A popular Java-like graphics and interaction language and IDE. Processing has a strong user community with many examples.
- Protovis - JavaScript visualization language, predecessor of d3.
- HTML/!JavaScript/XML - use standard web technologies to build the visualization. You may use libraries such as jQuery, Dojo, and the Google Maps API to help build your visualization.
- PolyMaps – create map displays with JavaScript & SVG
- Flare - Visualization toolkit for Adobe Flash
- Modest Maps - Mapping library for Flash
- Prefuse - Visualization toolkit for Java
- Improvise - Java system supporting coordinated views
- InfoVis Toolkit - A Java visualization library, from INRIA France
- Piccolo - A Java library for zoomable UIs, from the University of Maryland (Java and .NET)
- VTK - A scientific visualization library (C++ with wrappers for other languages)
Other Visualization and Data Analysis Tools
- Tableau for Student– get Tableau free license as a student.
- Tableau Public - a free version of Tableau which publishes to the web
- GGplot2 - a graphics language for R
- GGobi - visualizations for multivariate data
- Improvise - a visualization tool supporting a variety of visualization types
- ParVis - software for parallel coordinates
- TimeSearcher - interface for time-series data from U Maryland
- TreeMap - tree-mapping software from U Maryland
Network Analysis Tools
Color Tools
- kuler - Color Palette Generator
- Color Brewer
Web Development Tools
- Beginner? Start with Sublime Text with Emmet and SublimeLinter/JSHint
- Like IDE and willing to pay? Webstorm is a good option.
- Dash is great for quick documentation look up in Mac.
Tutorials & Tips
d3.js
-
Interactive Data Visualization for the Web Scott Murray(free online version)
- Scott Murray’s Original tutorial (shorter)
-
Jérôme Cukier & Scott Murray’s d3 tutorial at Strata 2013 (slides)
- (older) d3 tutorial at Visweek 2012 by Jérôme Cukier, Jeff Heer, and Scott Murray. (source, demo, cheatsheet)
-
More extensive list of examples can be found in d3's tutorial page and gallery and Christophe Viau's gallery.
HTML, CSS
- Basics:
- Mozilla Develop Network (HTML, CSS).
- CSS Zen Garden
- Extras
- Sass is easy to learn and powerful way to write
- Compass contains a lot of reusable patterns.
- Twitter Bootstrap is a popular template.
Javascript
- Fundamental JavaScript Concepts
- Mozilla Developer Network
- JavaScript Garden is a good reference to language quirks and gotchas.
- Eloquent Javascript – free online book by Marijn Haverbeke
- A re-introduction to JavaScript (JS Tutorial) on Mozilla Developer Network
- JavaScript: The Good Parts – Douglas Crockford (See also his YUI videos)
- Learning JavaScript Design Patterns by Addy Osmani
-
Debugging:
- Learn to use the Webkit Inspector (or Firebug if you’re a firefox fan.)
- Learn useful short keys– the basic one is cmd+shift+Ifor opening inspector. Then you can learn more by clicking the gear button on the bottom right and see the shortcuts tab
- use JSHint to avoid syntactic bugs
- Learn to use the Webkit Inspector (or Firebug if you’re a firefox fan.)
-
Javascript MVC
- Backbone.js- Simple MVC Backbone
- Angular.js - better but takes more time to learn (say 1-2 weeks to really understand concepts)
- Start with egghead.io and thinkster.io.
- Angular's official document is a pain. When you look at it, make sure to look at comments so you learn from others' confusion. Hopefully the community is big, so it should get better overtime though.
- Use yeoman
- Useful stuff from mg-newsletter
- Make sure to have AngularJS Batarang in Chrome so you can debug scope.
-
Javascript Library like Lodash (An arguably better fork of underscore.) – make sure to use them only if you need. Sometimes d3 helpers are enough.
-
Need an in-memory database for your vis prototype? - try datavore or crossfilter
- Syntax alternatives: Coffeescript, MS TypeScript