1. A data visualization system comprising: a data retrieval module arranged to retrieve data from a data storage module in communication with the data visualization system, wherein the retrieved data includes data sets for representation in a tree map; a tree map generation module arranged to generate a tree map based on the retrieved data, wherein the tree map generation module is further arranged to: i) sort the retrieved data sets according to the size of the data sets; ii) define an area for generating multiple rectangles, each rectangle representing one of the data sets, wherein the area is defined to allow the data sets to be spatially arranged within the area; iii) accumulate data points for data within the data sets to generate a rectangle that has dimensions that fall within pre-defined parameters; iv) generate a rectangle for each data set; and v) orientate the rectangle while maintaining the area of the rectangle such that its orientation is only changed if the rectangle does not fit in the available area.