Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Data Structures > tree_show

tree_show

Отображает в виде дерева содержимое list, tlist, mlist, cell-массивы или массивы структур, Xcos block

Синтаксис

tree_show(x)
tree_show(x, rootTitle)
tree_show(x, rootTitle, styles)
tree_show(x, rootTitle, styles, arrayByFields)

Аргументы

x

Контейнер для отображения. Поддерживаемые контейнеры list, mlist, tlist, cell-массивы или массивы структур, identifier of an Xcos block. Другие контейнеры могут быть вложены в x.

rootTitle

Отдельная строка: напрямую указанная метка корня дерева, например, имя переменной x в вызываюжщем окружении. По умолчанию "".

Для изменения стиля названия корня могут использоваться теги стилей HTML.4. Например: "<html><font color="red"><b>Название</b>" отобразит Название жирным красным шрифтом.
styles

Отдельная строка: тег стиля HTML.4, включающий символ "$", который будет заменяться адресом данных (имена полей, индексы списков...).

Опция styles может исползоваться для настройки стилей либо адресов, либо соответствующее содержимое или и то и другое. Примеры:

  • "<b>$</b>" : адрес жирным, содержимое нормальным чёрным шрифтом.
  • "$<i>" : адрес нормальным, содержимое курсивным шрифтом.
  • "<i>$" : и адрес и содержимое курсивным шрифтом.
  • "<font color=''grey''>$</font><i>" : адрес серым, содержимое курсивным шрифтом.

По умолчанию = "<font color=""blue"">$</font>" (адрес синим, содержимое чёрным шрифтом).

Установка "" удаляет стилевое оформление.

arrayByFields

Отдельное логическое значение, используемое только для массивов структур:

%T : Для каждого поля структуры отображается массив его значений.
%F : Для каждой структуры массива отображаются её поля и их значения.

Выбранный режим отображения используется также для каждого вложенного массива структур на любой глубине.

Описание

Создаёт окно и отображает указанный контейнер в виде дерева.

Это окно не имеет дескриптора.

Примеры

list(), включая cell-массив :

films = struct("Title", "A.I. Artificial Intelligence",..
               "Year", 2001, ..
               "Director", "Steven Spielberg", ..
               "Duration", 140);
L = list([%t %f %f],                ..
         $:-1:3,                    ..
         int8([1 2 3 ; 4 5 6]),     ..
         [-%inf, -1, 0, %i, 7.1, 3.3e20, %inf, %nan], ..
         sparse([0 1 2; 3 0 4]),    ..
         ["This" "is" "some" "text"], ..
         ,              ..
         sin,           ..
         logspace,      ..
         iolib,         ..
         {%pi, "abcd" ;
          list(,)(1),(%i-%s)^3},    ..
          {},           ..
         films);
tree_show(L)

Использование опций rootTitle и styles :

// Данные для отображения:
clear films
films(1) = struct("Title", "A.I. Artificial Intelligence",..
                  "Year", 2001, ..
                  "Director", "Steven Spielberg", ..
                  "Duration", 140);
films(2,2) = struct("Title", "I, robot", ..
                    "Year", 2004, ..
                    "Director", "Alex Proyas", ..
                    "Duration", 120);

// Стилевое оформление как адресов, так и содержимого:
mainTitle = "<html><b>Films (A)</b>";
tree_show(films, mainTitle , "<font color=""red"">$</font><i>");

// Стилевое оформление только содержимого:
mainTitle = "<html><b>Films (B)</b>";
tree_show(films([1 4]), mainTitle, "$<font color=""green"">", %t);

Массив структур :

clear films
films(1) = struct("Title", "A.I. Artificial Intelligence",..
              "Year", 2001, ..
              "Director", "Steven Spielberg", ..
              "Duration", 140);
films(2) = struct("Title", "I, robot", ..
              "Year", 2004, ..
              "Director", "Alex Proyas", ..
              "Duration", 120);
films(1,2) = struct("Title", "Gravity", ..
                "Year", 2013, ..
                "Director", "Alfonso Cuarón", ..
                "Duration", 100);
films(2,2) = struct("Title", "2001: A space odyssey", ..
                "Year", 1968, ..
                "Director", "Stanley Kubrick", ..
                "Duration", 141);

tree_show(films(:),"Films (I)");
tree_show(films   ,"Films (II)");
tree_show(films(:),"Films (III)", , %t);
tree_show(films   ,"Films (IV)" , , %t);
2x2 struct array with fields:
   Title
   Director
   Year
   Duration
    

С пользовательским tlist или mlist :

// Для mlist:
str = ['a','b','c','d','e','f','g','h'];
n = matrix(str, [2,2,2]);
v = matrix(1:8, [2,2,2]);
Mm = mlist(['V','name','value'],n,v);
tree_show(Mm);

// Для tlist:
Mt = tlist(['V','name','value'],['a','b','c'],[1 2 3]);
tree_show(Mt);

For an Xcos block :

loadXcosLibs();

blk = BIGSOM_f("define");
tree_show(blk)

Смотрите также

  • uiDisplayTree — Printing an uitree in GUI mode
  • uiDumpTree — Printing an uitree in the console (text mode)
  • prettyprint — Converts a Scilab object into some corresponding LaTeX, TeX, MathML or HTML strings
  • editvar — Scilab variable editor
  • browsevar — Scilab variable browser

История

VersionDescription
6.1.0
  • Добавлены входные опции rootTitle, styles и arrayByFields.
  • Теперь поддерживаются входные контейнеры, включающие пустые элементы.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 25 08:54:58 CET 2020