This course aims to introduce learners to advanced visualization techniques beyond the basic charts covered in Information Visualization: Fundamentals. These techniques are organized around data types to cover advance methods for: temporal and spatial data, networks and trees and textual data. In this module we also teach learners how to develop innovative techniques in D3.js.
Learning Goals
Goal: Analyze the design space of visualization solutions for various kinds of data visualization problems. Learn what designs are available for a given problem and what are their respective advantages and disadvantages.
- Temporal
- Spatial
- Spatio-Temporal
- Networks
- Trees
- Text
This is the fourth course in the Information Visualization Specialization. The course expects you to have some basic knowledge of programming as well as some basic visualization skills (as those introduced in the first course of the specialization).

講師

Enrico Bertini

Cristian Felix

字幕

So in this week's module we are going to introduce what we call interactive and multiple views. So if you think about it, so far in the course, we talked only about visual representations that are completely static. What does it mean? It means that they don't change over time, and they don't change when somebody interacts with them because there's no interruption. So the focus of this module is about interaction. And if you think about it, thanks to many digital devices that we have nowadays, it is possible to make visualization interactive. What do I mean by interactive? Well, it means as I interact with the device that I have, that is used to display a visualization, then I can change or adapt the visualization to my needs, according to the questions that I have. So we have two key questions that we are going to try to answer this week. The first one is, what is possible to do with interaction in visualization? And the second one is when is it useful to make visualization interactive? So before we start answering these questions, I want to give you an example of what I mean by interactive visualization. So I just want to make sure that you get out quick sense of how interactive visualization looks like. So this is a little dashboard, interactive dashboard that I created to give you as a first example of interactive visualization with multiple views. So here we have a dataset that describes data coming from nutrition data base. Basically every single item in this dataset represents one food, and each food has a number of attributes, including the average amount of vitamins, minerals, nutrients, and so on. And the foods are also categorized according to a number of broad categories. So what you see here in this dashboard is three main views. The main view is the scatter plot where, as I said, every single dot represents one single food item. And the two axes of the scatter plot represent, respectively, the amount of carbohydrates in this food, and the amount of calories in this food. As you can see, the dots are colored and each color represents one food group. And the food groups, you can see what they are here on the left. We have processed foods, meats, vegetables, dairy and eggs, fruits and so on. As you can see, the colors that we have in these bars are exactly the same colors as those that we have in the scatter plot. On the right-hand side we have a simple list, and in this list we have the actual name of each of each of these food products that we have here. So there is a one to one relationship between each dot here, and each element or each row in the table or list. So now what is interesting here is that this is an interactive visualization. So for instance, if I go over the items that I have in this scatter plot, as you can see, there are little pop-up windows or labels that show additional information, specific to each item. So this is useful here, for instance, because we see that there are some outliers and we may want to check what type of food they are. So here we have, for instance, this is syrups, this is leavening agents, this is another leavening agent, and this one too. Here we also see there are some other outliers. So this is carob flour, and this is cinnamon ground. Okay, so without interaction these wouldn't be possible. That's already an example of how interaction can enable certain types of functions that we wouldn't be able to have with static representation. Now, what is interesting here is that it's not just one single view, there are multiple views. And these multiple views are linked together. So, what do I mean? Well, it means that if I interact with any of these views, the selection that they make in one of these views is going to propagate to the other views. So here you have the food groups, and the length of each bar represents how many food belong to this group. Now what is interesting here is that if I click on one of these groups, then all the rest is going to be updated. Let me show you how this works. So if I click on Meats, now the scatter plot updates with only the items that belong to Meats. And the list that you see on the right-hand side is all about the selected dots. If I click on Processed Foods, now everything else is updated to show only processed foods. And the same is true with the rest. So let's say that, let's go back to Processed Foods, and now let's say that I'm interested in understanding what are these particular Processed Food products that have low carb amount and low calories? Well, I can do a selection here, ask the system to focus on this selection, and see what are these products. So this is a initial introduction and example to give you a sense of what we mean when we say interactive visualization and multiple views. Now the goal of the rest of this module is to go systematically through all the methods that exist to make a visualization interactive and to create multiple linked or coordinated views. So views that are linked in a way that when I interact with one view, the interaction is propagated to the other views. As we will see, there are many, many options here. And one of the goals for me here is to give you a mental model to think about interaction and multiple views in a way that it's not just a list of techniques, but it also helps you understand why these methods are useful, and when it is appropriate to use them.