This thesis presents a system for the generation of complex diagrams.“Complexity” is defined as a measure of distinct data types that are independently visually encoded. Diagrams representing four or more types of data are defined as complex, while diagrams representing three or fewer are simple. Successful generation of complex diagrams is dependent on appropriate design choices. Five fundamental principles are introduced to guide the choices made by the diagram designer. The two contextual fundamental principles are “different goals require different methods,”addressing the needs of the diagram designer, and “audience brings context with them,” addressing the needs and context of the diagram reader. The three perceptual fundamental principles are the “principle of information availability,” which guides the selection and density of the diagram elements,the “principle of semantic distance,” which guides the spatial placement and grouping of the diagram elements, and the “principle of informative changes,”which guides the visual encoding of the diagram elements. A review of the diagram design process, comprising selection, encoding, and placement of the diagram components, is given. For each phase of the design process the influence of the appropriate fundamental principles is discussed, and the fundamental principles are extended into applied guidelines and suggestions.