Book a Demo

Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.

Prev Next

Heat Maps

In addition to the more familiar Bar charts, Column charts and Pie charts, Enterprise Architect supports a grid-based layout called a Heat Map, which uses the color, size and grouping of cells to represent specific aspects of a data set.

Heat Maps are typically used to illustrate co-dependant properties that could influence strategic or project level decisions. For example, a Heat Map might group Requirements by Requirement Type into a matrix of categories, then further divide each category by Requirement Status, using the number of requirements of each status as the determinant of cell size. As an additional visual clue, the color for each cell can use yet another variable from the data set; for example, a cost number based on the sum of expected costs associated with each Requirement. In common with other types of chart, you can construct the data set using either the dialog fields or custom SQL that you have created or copied.

This example of a Heat Map indicates the relative costs of various elements of a software platform, at the same time showing (by cell color) what stage in a product lifecycle each component has reached.

An example of a package shown as a Heat Map in Sparx Systems Enterprise Architect.

The use of Heat Maps depends to some extent on having good data that can be used to visually cue different aspects of the current model. For example, if you decide to use a cost analysis as part of a Heat Map, it is necessary to represent the cost using a field or Tagged Value. This should form part of the background modeling work that will feed the data sets driving well formed and useful Heat Maps.


Select a Chart element on a diagram or in the Browser window, then use any of the methods outlined here to open the chart element's 'Properties' dialog. (If the appropriate Chart element does not exist, open the 'Charts' page of the Diagram Toolbox and drag a 'Standard Chart' icon onto a diagram.)

The 'Properties' dialog defaults to displaying the 'Source' tab and its 'Package' child tab.


Design > Element > Properties > General > Properties Dialog

Context Menu

Right-click on element | Properties | Properties

Keyboard Shortcuts



Double-click on element

Configure a Heat Map

Having accessed the 'Properties' dialog for the Chart element, you can complete the fields on the 'Source' and 'Package' tabs to configure your Heat Map.



See also


Click on the drop-down arrow and select 'Heat Map' as the chart type.

Size By

Click on the Browse. button and select the object type and property that the Heat Map cells will represent. A cell is created for each unique combination of object type and property, and the size of the cell indicates the number of times that combination occurs.

For example, if you select Element.Author each cell will represent an Author name, and the cell size indicates the number of elements in the data set with that author name.

Group By

(Optional) Click on the Browse. button and select the object type and property that the grouping of the Heat Map cells will represent.

For example, if you size by Defect.Status and group by Element.Author, each group will represent an Element Author and each cell within the group will represent the number of elements with that Author name having each of the defect statuses.

Color By

(Optional) Click on the Browse. button and select the object type and property that the color of each cell will represent. If you want to color by the same object type/property combination as you used to size the cells, then leave this field blank. The color is retrieved by matching this combination with a color defined in the selected Color Set on the 'Appearance' page of the Heat Map 'Properties' dialog (see the Heat Map Appearance Help topic).

Heat Map Appearance

Chart Source

In the 'Model' field, click on the Browse. button and select which model to derive the data from, either the current model or one that you search for as a Local File, or through the Native Connection or OBDC Connection Wizard, or on the Cloud. Alternatively, you can select to enter a connection string for the model.

If appropriate, select which Package(s) to search for the data to represent in this Heat Map, as explained in the From a Package Help topic. (Click on the Add button and on the 'Add Package' option, then select from the Package Browser.)

From a Package

Customizing Results for the Heat Map

As an alternative to specifying the parameters of the Heat Map in the 'Package' tab, you can create a customized Heat Map using SQL. 

You again specify the chart type in the 'Type' field, but immediately select the 'Custom SQL' tab. The other fields on the 'Source' tab are then grayed out.

On the 'Custom SQL' tab, your SQL statement should contain these four column aliases (as demonstrated in the Example Custom Queries section of this topic):

  • Series - Represents the Heat Map cell and the label
  • GroupName - Provides grouping for Heat Map cells; this alias can be excluded if no grouping is required
  • ChartValue - Defines the size of a Heat Map cell according to the numerical value of a property (a value of, say, 12 units) rather than as a simple instance of the property (a value of 1 unit)
  • Color - Returns a value that determines the color of the cell, by reference to the 'Color Set' value types defined in the Heat Map appearance

Also see the Custom Query Help topic.

Example Custom Queries



Example 1

In this query, each cell will represent an Author and will be sized relative to the number of Component elements the Author has created.

Select t_object.Author AS Series, count(*) AS ChartValue

FROM t_object


t_object.Object_Type = 'Component'

Group By t_Object.Author

Example 2

In this query, each cell and its relative size will represent a Defect status. Each cell will be grouped by author and colored on priority type. This query would be accompanied by a Color Set definition of Value Type 'String' with the values 'High', 'Medium' and 'Low' and their respective colors.

Select t_objectproblems.Status AS Series, t_object.Author AS GroupName, t_objectproblems.Priority AS Color, count(*) AS ChartValue

FROM t_object, t_objectproblems


t_object.Object_ID = t_objectproblems.Object_ID AND (t_objectproblems.ProblemType='Defect')

group by t_objectproblems.Priority, t_object.Author, t_objectproblems.Status

order by 1,2,3

Learn more