IVZTreeMap.HeightVisual

Syntax

HeightVisual: IVZNumericVisual;

Description

The HeightVisual property determines visualizer used to set the height of tree map children.

Example

Executing the example requires that the repository contains an express report with the EXP identifier. The unit containing the example should have links to the Express, Metabase and Visualizators system assemblies. The specified procedure should be called from the Main entry point.

Transform a set of numbers by the custom transformer that increases the input value as much as five times:

// Determine custom data transformer
Class MyAdapter: object, IVZDataAdapter
    // Input value is to be increased as much as five times
    Function GetData(Value: Variant): Variant;
        Begin
        Return Value * 5
    End Function GetData;
End Class MyAdapter;

Sub UserProc;
Var
    Metabase: IMetabase;
    EaxAnalyzer: IEaxAnalyzer;
    TreeMap: IVZTreeMap;
    HeightVisual: IVZNumericVisual;
    DataSourceMapping: IVZDataSourceMapping;
    DataTransformer: IVZDataAdapter;
Begin
    // Get the current repository
    Metabase := MetabaseClass.Active;
    // Get express report
    EaxAnalyzer := Metabase.ItemById("EXP").Edit As IEaxAnalyzer;
    // Get tree map
    TreeMap := EaxAnalyzer.TreeMap.TreeMap;
    // Create new visualizer object
    HeightVisual := New VZNumericVisual.Create;
    // Get settings of data mapping
    DataSourceMapping := HeightVisual.NumericMapping;
    // Set the Data Transformer mapping type
    DataSourceMapping.MappingType := VisualizatorDataMappingType.DataMappingTransformer;
    // Create and set custom data transformer
    DataTransformer := New MyAdapter.Create;
    DataSourceMapping.DataTransformer := DataTransformer;
    Debug.WriteLine("Data transformation:");
    Debug.IndentLevel := 1;
    Debug.WriteLine("Input: 1, output: " + 
        ((DataTransformer.GetData(1)) As Double).ToString);
    Debug.WriteLine("Input: 5, output: " + 
        ((DataTransformer.GetData(5)) As Double).ToString);
    Debug.WriteLine("Input: 30, output: " + 
        ((DataTransformer.GetData(30)) As Double).ToString);
    // Set visualizer used to determine tree elements height
    TreeMap.HeightVisual := HeightVisual;
End Sub UserProc;

After executing the example, the custom transformer increasing output value five fold is created, the development environment console window shows results of transformation for numbers 1, 5 and 30:

Data transformation:

    Input: 1, output: 5

    Input: 5, output: 25

    Input: 30, output: 150

See also:

IVZTreeMap