So far, we have seen specific class of solutions for visualizing tree structures. Now I want to introduce another broad class of solutions which I call space partitioning and containment methods. What's the main idea here? Well, the idea is that a different strategy that you can use to visualize hierarchical structures is to partition space and use containment as a way to convey the idea that there is a hierarchy. Let me give you a couple of abstract examples so that this is probably going to be clearer. In the image on the left, you see that, say, we have a big rectangle, right? The outer rectangle, and you can partition this rectangle into smaller rectangles. Then within these rectangles, you can draw some other smaller rectangles and then put the data points inside. So, there will be a way to show our hierarchy by nesting together a number of shapes. So, if we refer back to the tree structure that we have seen earlier, the largest rectangle is basically the root node and rectangles that you find that the next level is the first level of the tree, and then so on by partitioning, you can go on by partitioning rectangles into smaller rectangles. A similar thing can be done by partitioning by juxtaposing areas one next to another. So, look at the image on the right. So, I have the first rectangle and then I juxtapose a smaller rectangles on the right and then even smaller rectangles on the third level and fourth level and so on. So, I can create a sort of layers where every layer is represented by a group of rectangles whose size is proportional to the value that they contain. So, by far, I would say the most popular visualization that uses these strategies is Treemaps. Treemaps have been invented by Ben Schneiderman and his collaborators in the early '90s and I wanted to quote him because I think it's nice the idea of how he came up with this method. So, he says, "During 1990, in response to the common problem of filled hard disks," which by the way is still a problem we still have today, " I became obsessed with the idea of producing a compact visualisation of directory tree structures." So, that's how Ben came up with the problem. Then he figured after thinking for a while how to solve this problem, he came up with the idea of a Treemap. So, what is a Treemap? I'm going to show you a simple example. Basically translating our node link diagram tree into a Treemap. So, look at the tree here. Every single node is annotated with a value. Now, the goal here is to partition our rectangle in a number of areas that are proportional to the values of the nodes that they contain. So, how does this work? So, the basic idea here is that you start from the root node, and in this case, we have value of 18, and now you have to split the children and, thus, the rectangles into areas that are proportional to the values that you have in the children. So, in this case we have nine and six. So, we split the two areas in proportion so that the area on the right is basically one-third of the whole area and the area on the left is two-thirds. Now, we want to split these areas again into sub-areas that represent the children of the children. How do we do that? So, let's say we focus on the rectangle on the right, we change the direction of splitting, that's the crucial intuition here. Now, we split the area into sub- areas in this direction, in the vertical direction. After doing that, we can do exactly the same on the within the rectangle on the left, and so on. So, imagine that we have more levels. You can keep splitting in different directions and nesting over and over and over again the rectangles so that in the end, you will have full representation of the hierarchy and especially of the values that are associated to the nodes. That's the basic intuition behind Treemaps. This image that I'm showing you here is one of the first images created by Ben Schneiderman at the beginning of this project, where he actually came up with a Treemap solution to visualize the actual content of an hard disk. I actually don't know if this is Ezone hard disk, it maybe. I didn't check. But what you see here is the hard disk structure and what you see here is that there are different rectangles and rectangles are colored according to different file types, and the size of the rectangle represents the size of the file. As you can see, it gives you a very nice and very scalable overview of a large set of documents organized in a hierarchical fashion.