The network depicts interactions between software design patterns, providing a map of how the various design patterns apply or mutually reinforce each other. Patterns with italicized text are taken from Gamma et al’s collection of general design patterns; those with a standard typeface are visualization-specific patterns introduced in this paper.
Despite a diversity of software architectures supporting information visualization, it is often difficult to identify, evaluate, and re-apply the design solutions implemented within such frameworks. One popular and effective approach for addressing such difficulties is to capture successful solutions in design patterns, abstract descriptions of interacting software components that can be customized to solve design problems within a particular context. Based upon a review of existing frameworks and experiences building visualization software, there are a series of design patterns for the domain of information visualization. Structure, context of use, and interrelations of patterns spanning data representation, graphics, and interaction has to be viewed in detail. By representing design knowledge in a reusable form, these patterns can be used to facilitate software design, implementation, and evaluation, and improve developer education and communication.