Enormous quantities of data go unused or underused today, simply because people can't visualize the quantities and relationships in it. Using a downloadable programming environment developed by the author, Visualizing Data demonstrates methods for representing data accurately on the Web and elsewhere, complete with user interaction, animation, and more.
How do the 3.1 billion A, C, G and T letters of the human genome compare to those of a chimp or a mouse? What do the paths that millions of visitors take through a web site look like? With Visualizing Data , you learn how to answer complex questions like these with thoroughly interactive displays. We're not talking about cookie-cutter charts and graphs. This book teaches you how to design entire interfaces around large, complex data sets with the help of a powerful new design and prototyping tool called "Processing".
Used by many researchers and companies to convey specific data in a clear and understandable manner, the Processing beta is available free. With this tool and Visualizing Data as a guide, you'll learn basic visualization principles, how to choose the right kind of display for your purposes, and how to provide interactive features that will bring users to your site over and over. This book teaches The book does not provide ready-made "visualizations" that can be plugged into any data set. Instead, with chapters divided by types of data rather than types of display, you'll learn how each visualization conveys the unique properties of the data it represents -- why the data was collected, what's interesting about it, and what stories it can tell. Visualizing Data teaches you how to answer questions, not simply display information.
Visualizing Data explores data visualizations through the Processing Environment, a Java-based IDE used as a sort of visual sketchpad to plot out visualizations without heaps of Java code. The author, Ben Fry, is well schooled - PhD from the Aesthetics + Computation Group at the MIT Media Laboratory, the 2006-2007 Nierenberg Chair of Design for the Carnegie Mellon School of Design, amongst other achievements. Fry stresses the 7 stages of visualizing data:
He spends a significant amount of time talking about how each individual data set you might encounter and need to visualize is inherently different than others, or needs to be seen that way in order to grok something truly interesting out of it.
I found the visualizations to be on the simple side, and several chapters to be pretty much irrelevant as I have a programming background. However, I found his approach to be refreshing, really concentrating on the data at hand, and coming up with custom built visualization exercises that showed great attention to the actual data at hand.
There are definitely useful patterns here: Mapping, Time Series, Connections/Correlations, Scatterplot Maps, Trees, Hierarchies, and Recursion, Networks and Graphs. The 2 chapters on bringing in data, "Acquiring" and "Parsing", are decent beginning points, but much more data is needed to build robust visualizations based on disparate internet data sources.
All in all, it was a good read. In today's Web 2.0 world, a book like this brings very interesting possibilities, with the wealth of personal preference/friend/activity data available for free via the internet.
The process of understanding data begins with a set of numbers and a question. The following steps form a path to the answer:
Acquire: Obtain the data, whether from a file on a disk or a source over a network.
Parse: Provide some structure for the data's meaning, and order it into categories.
Filter: Remove all but the data of interest.
Mine: Apply methods from statistics or data mining as a way to discern patterns or place the data in mathematical context.
Represent: Choose a basic visual model, such as a bar graph, list, or tree.
Refine: Improve the basic representation to make it clearer and more visually engaging.
Interact: Add methods for manipulating the data or controlling what features are visible.
This book achieves 2 goals: 1) it is an outstanding to the Processing programming language, and 2) it shows a wide variety of techniques for the graphical display of data.
Processing is basically a dialect of Java, with an extensive graphics and numerical API, and a very nice little development environment. It is designed for designers and analysts rather than programmers. It integrates easily with Java, and can produce applets to run in browsers, or executables to run on desktop PCs (Mac, PC, Linux). Processing is open source software, and is very easy to learn (easier, I guess, if you already program in Java).
This is an excellent book with a good selection of fully worked examples, and links to numerous resources, including places where you can obtain data (and maps on which to display the data, where applicable).
This was a helpful (re)introduction to the Processing language for me. I found Fry's characterisation of the process of developing a visualisation ("acquire, parse, filter, mine, represent, refine, and interact") useful in that it provides a structured framework for thinking about something that can be a messy endeavour. I also liked the strong emphasis on questions and narrative - the notion that data visualisation should actually have something to say is all too often lost in technical books.
Overall I think the material being discussed was too tightly coupled to the example code, so what ended up being presented was data visualization within those bounds. Rather than teaching the reader about the best practices and concepts in data visualization. Another thing I did not particularly care for was the fact that JAVA was used throughout the book without adhering to object-oriented design principles. Everything was done procedurally with hardcoded variable values. Which if that's all that is required for the job than an object-oriented language like JAVA is not the correct choice. Not to mention the implication about the testability of the code. Overall it was a very hacker-ish approach to subjects being presented.
Well outdated (which is understandable as Processing is now almost mature ;-) With code a bit too closely coupled with portable data processing concepts.. Focused on all aspects of data mangling, where the title suggests focus on visualisation (representation / interaction part), it covers the whole acquire>parse>filter>mine>represent>refine>interact (repeat) process.
The best parts of this book are early and late chapters on the fundamentals of Processing. It's easy to pick it up and learn from the online documentation and forums only the specific functions and concepts that allow me to do what I know I don't know how to do, but of the foundations I had no idea: like the preprocessor that turns the code into Java, and the differences between the different graphics modes.
Middle chapters on plotting 2D graphs was pretty good, I hadn't thought of using it for something so basic, and now I can use Processing to make graphs in a cloud computing system that has no graphics cards ('headless'). Less useful was the graph plotting chapter that depended on a 3rd party library.
The other parts that I really liked was where the author referenced his own advanced degree in the field of visualization, cites works by other authors, and makes critical comments about the effectiveness of visualization techniques. I had thought given the name of the book there would be a lot more of that, fortunately there is a bibliography with about a dozen books I can get into.
As some reviewers have stated before; this book contains more examples of how to visualize data using the processing language rather than an overview of visualization techniques. The examples are very concise and easy to follow while still maintaining reader interest and I was able to use some techniques from the book to apply to my own projects.
Pretty solid introduction to processing and generically, how to think about visualizing data. I was able to kick out some useful (and/or just pretty) graphics after reading this book, where previously I'd just done basic dabbling. I found the 'Treemap' section especially helpful, as the online resources around making them are weak/hard to find.
Fry, a co-creator of processing, presents a series of visualization case studies with clean code snippets and concise explanations. It seems a little bizarre to claim that acquisition is a stage of the visualization process (might visualization start after you have a dataset and are trying to find a new way to understand and share its nuances?). Still, this is a manual I will keep nearby.
Fry tried really hard to teach and it is delightful course. I really learn something from this book. Processing is still not a mainstream language (or dialect as Fry put it), but its potential as a animation web app is still huge. So if you want to start with Processing, this book is better than the thin "Getting start with Processing". The latter one is just plain too simple and too surface.
Contains a lot of (Java) code, especially on capturing data. Little on design approaches for visualization of different types of data. What design suggestions exist, delve into details like the length of a dash and what font to use. Published in 2007, this book is showing its age. Touch devices are not mentioned.
Not so much a book about Visualizing Data as it is an instruction manual for using his language, Processing. There were a few good tid-bits of knowledge but, overall I was underwhelmed. I thought there would be a lot more about the theory of how to effectively visualize data and less code.
This book is basically a manual for the "Processing" engine for displaying custom graphs and charts. This is helpful for me because it's time I get confortable with breaking away from Excel and friends.
So far I really like this. There's a lot of code, but also some good insight into how to think about data and the questions that it can answer. It's really pleasurable to be inspired to write code in service of answering questions instead of laboring over clean, slick code.
I suppose it's useful if you just started programming and literally never seen any data visualized. But if you are comfortable with matplotlib/pandas, the book is useless, you're better off going through MPL gallery for inspiration.