IVZDataScale.AutoSetupScaleItems

Синтаксис Fore

AutoSetupScaleItems;

Синтаксис Fore.NET

AutoSetupScaleItems();

Описание

Метод AutoSetupScaleItems пересчитывает шкалу визуализатора, исходя из значений первого и последнего элемента шкалы.

Комментарии

Расчет шкалы производится в соответствии с типом шкалы:

Перед вычислением шкалы можно задать количество интервалов для шкалы.

Пример Fore

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXPRESS». Подключите системные сборки: Drawing, Express, Metabase, Visualizators. 

До выполнения примера цветовая шкала пузырькового дерева выглядит так, как показано на странице описания интерфейса IVZDataScale. Установим количество интервалов шкалы, равное 4, определим кисти для первого и последнего элемента шкалы, а затем перерассчитаем шкалу:

Sub UserProc;
Var
    Metabase: IMetabase; // Метабаза
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    Scale: IVZDataScale; // Шкала цветов
    Color: IGxColor; // Цвет 
    Brush: IGxSolidBrush;// Кисть для элементов шкалы
Begin
    // Получим объект метабазы
    Metabase := MetabaseClass.Active;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    // Получим пузырьковое дерево
    BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
    // Получим шкалу пузырькового дерева
    Scale := BubbleTree.ColorVisual.ColorMapping.Scale;
    // Установим количество интервалов шкалы
    Scale.IntervalsCount := 4
    // Создадим аметистовый цвет
    Color := New GxColor.CreateRGB(153,102,204);     
    // Создадим кисть
    Brush := New GxSolidBrush.Create(Color);
    // Зададим кисть для первого элемента  шкалы
    Scale.First := Brush; 
    // Создадим васильковый цвет
    Color := New GxColor.CreateRGB(100,149,237);     
    // Создадим кисть
    Brush := New GxSolidBrush.Create(Color);
    // Зададим кисть для последнего элемента шкалы
    Scale.Last := Brush;
    // Перерассчитаем шкалу
    Scale.AutoSetupScaleItems;
    // Сохраним изменения, сделанные в экспресс-отчёте 
    (EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера будет перерассчитана шкала, исходя из заданного количества интервалов, а также для элементов шкалы будут автоматически настроены градиенты из цветов, заданных для первого и последнего элемента шкалы.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Указанная процедура является точкой входа для .NET-сборки.

Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;

...

Public Shared Sub Main(Params: StartParams);
Var
    Metabase: IMetabase; // Метабаза
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    Scale: IVZDataScale; // Шкала цветов
    Color: IGxColor; // Цвет 
    Brush: IGxSolidBrush;// Кисть для элементов шкалы
Begin
    // Получим объект метабазы
    Metabase := Params.Metabase;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
    // Получим пузырьковое дерево
    BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
    // Получим шкалу пузырькового дерева
    Scale := BubbleTree.ColorVisual.ColorMapping.Scale;
    // Установим количество интервалов шкалы
    Scale.IntervalsCount := 4
    // Создадим аметистовый цвет
    Color := New GxColor();
    Color.CreateRGB(153,102,204);     
    // Создадим кисть
    Brush := New GxSolidBrush();
    Brush.Color := Color As GxColor;
    // Зададим кисть для первого элемента  шкалы
    Scale.First := Brush; 
    // Создадим васильковый цвет
    Color := New GxColor();
    Color.CreateRGB(100,149,237);   
    // Создадим кисть
    Brush := New GxSolidBrush();
    Brush.Color := Color As GxColor;
    // Зададим кисть для последнего элемента шкалы
    Scale.Last := Brush;
    // Перерассчитаем шкалу
    Scale.AutoSetupScaleItems();
    // Сохраним изменения, сделанные в экспресс-отчёте 
    (EaxAnalyzer As IMetabaseObject).Save();
End Sub;

См. также:

IVZDataScale