ГлобальноеСвойство для настройки вида объектов (кривых, поверхностей, ...) в командах plot или surf

## Описание

`ГлобальноеСвойство` - это необязательный аргумент, который может использоваться внутри команд plot или surf. Он позволяет глобальную настройку построения всех новых линий (соответственно, поверхностей). Он должен указываться в виде пары {`ИмяСвойства`,`ЗначениеСвойства`}. В `plot` или `surf` может быть установлено несколько пар одновременно.

`ИмяСвойства` должно быть строкой, определяющей то свойство, которое необходимо установить. `ЗначениеСвойства` может быть вещественным, целочисленным или строкой (скаляром или матрицей) в зависимости от типа используемого свойства. Например, чтобы определить красную (цвет) штрихпунктирную линию с длинными штрихами (стиль линии) с маркерами в виде ромба (маркер), последовательность должна быть: `'Colo'`, `'red'`, `'LineSt'`, `'-.'`, `'Marker'`, `'diam'`.

Как видите, не требуется полного написания имени каждого свойства и значения однако те аргументы, которые определяются в любом порядке, должны оставаться однозначными. Более того, строковое определение не чувствительно к регистру. `ГлобальноеСвойство` - имеет преимущество над всеми ранее установленными `ВидамиЛиний`.

Вот полный список `ИмёнСвойств`, которые вы можете определять (при использовании plot или surf) и их возможные `ЗначенияСвойства`. Если не указано, то те свойства применимы как для объектов `Polyline`, так и объектов `Fac3d` (созданных соответственно с помощью `plot` или `surf`) и, как упоминалось ранее, они применяются к новым создаваемым объектам (линиям или поверхностям).

Иногда, вы можете иметь два `ИмениСвойства`, соответствующих одному свойству: первое из них эквивалентно по умолчанию имени в Matlab'е, втрое имя по умолчанию используется в Scilab'е. (т.е.: `Color` или `Foreground` для линии, смотрите ниже).

"CData" или "ColorData":

  матрица вещественных значений, определяющая цвет каждой точки, определяемой матрицей `Z`. Это свойство связано со свойством `data.color` объекта (см. свойства поверхностей).

  Заметьте, что это свойство доступно только для поверхностей.
"CDataMapping" или "ColorDataMapping":

  строка со значением `'scaled'` или `'direct'`. Если установлен `data.color`, то каждое значение индекса цвета определяет отдельное значение для каждой вершины. `cdata_mapping` определяет масштабированы ли те индексы для линейного отображения в текущей цветовой карте ("colormap") (режим `'scaled'`) или указывает напрямую на эту цветовую карту (режим `'direct'`). Это свойство полезно, когда `color_flag` равно `2`, `3` или `4`.

  Заметьте, что это свойство существует только у объектов `Fac3d`. Заметьте также, у `plot3d` по умолчанию режим `'direct'`, а у `surf` по умолчанию режим `'scaled'`.
"Clipping":

  строка `"on"` или `"off"`, определяющая режим обрезки (по умолчанию - `"on"`). Это эквивалентно свойству `clip_state` ("состояние обрезки"). Это поле содержит поле `visible` ("видимость", см. свойства ломаной линии).

  Заметьте, что это свойство пока что не доступно для объектов поверхности.
"Color" (цвет) или "Foreground" (передний план) (только полилинии):

  Цвет, указанный его именем (текстом) среди предопределенного названного списка цветов) или его шестнадцатеричным кодом (текстом) `"# RRGGBB"`, или по его индексу в цветовой карте (целое число) или векторным символом `[r,g,b]` ее интенсивностей Red-Green-Blue в интервале [0,1].

  Это свойство связано со объектным свойством `foreground` (передний план, см. свойства ломаной линии ).

"EdgeColor" (цвет кромки) или "Foreground" (только поверхность):

  Цвет, указанный его именем (текстом) среди предопределенного названного списка цветов) или его шестнадцатеричным кодом (текстом) `"# RRGGBB"`, или по его индексу в цветовой карте (целое число) или векторным символом `[r,g,b]` ее интенсивностей Red-Green-Blue в интервале [0,1].

  Это свойство связано со объектным свойством `foreground` (см. свойства поверхности).

"FaceColor":

  строка со значением `'none'`, `'flat'` или `'interp'`, определяющая способ, которым строятся цвета фацетов. Когда выбрано `'none'`, то строится сетка поверхности; если установлено `'flat'` (режим по умолчанию), то значения `Fac3d` `color.data` определяют один цвет на фацет, используя цвет первой вершины фацета. Если значение `'interp'`, то выполняется интерполированное затенение на поверхности, используя `color.data` для определения цвета в каждой вершине каждого фацета.

"LineStyle":

  это значение свойства должно быть строковым, определяющим стиль линии. Это свойство связано с объектным свойством `line_style` ("стиль линии", см. свойства ломаной линии или свойства поверхности).

  `Определитель` | `Стиль линии`
  `-` | сплошная линия (по умолчанию)
  `--` | штриховая линия
  `:` | штрихпунктирная линия (две точки)
  `-.` | штрихпунктирная линия (одна точка)
  `none` | нет линии

"Marker" (маркер) или "MarkStyle" (стиль маркера):

  строка, определяющая тип маркера. Заметьте, что если вы определяете маркер без стиля линии, то будут нарисованы и линия (по умолчанию сплошная) и маркер. Это свойство связано с объектными свойствами `mark_style` ("стиль маркера") и `mark_mode` ("режим маркера") (см. свойства ломаной линии или свойства поверхностей).

  `Определитель` | `Тип маркера`
  `+` | знак "плюс"
  `o` | кружок
  `*` | звёздочка
  `.` | точка
  `x` | крестик
  `'square'` или `'s'` | квадрат
  `'diamond'` или `'d'` | ромб
  `^` | треугольник, указывающий вверх
  `v` | треугольник, указывающий вниз
  `>` | треугольник, указывающий вправо
  `<` | треугольник, указывающий влево
  `'pentagram'` или `'p'` | пятиконечная звезда (пентаграмма)
  `'none'` | нет маркера (по умолчанию)

"MarkerEdgeColor" (цвет кромки маркера) или "MarkForeground" (передний план маркера):

  Цвет, указанный его именем (текстом) среди предопределенного названного списка цветов) или его шестнадцатеричным кодом (текстом) `"# RRGGBB"`, или по его индексу в цветовой карте (целое число) или векторным символом `[r,g,b]` ее интенсивностей Red-Green-Blue в интервале [0,1].

  Это свойство связано со объектным свойством `mark_foreground` (см. свойства ломаной линии или свойства поверхности).

"MarkerFaceColor" (цвет внешней стороны маркера) или "MarkBackground" (задний план маркера) :

  Цвет, указанный его именем (текстом) среди предопределенного названного списка цветов) или его шестнадцатеричным кодом (текстом) `"# RRGGBB"`, или по его индексу в цветовой карте (целое число) или векторным символом `[r,g,b]` ее интенсивностей Red-Green-Blue в интервале [0,1].

  Это свойство связано с объектным свойством `mark_background` ("фон маркера", см. свойства ломаной линии или свойства поверхности).

"MarkerSize" (размер маркера) или "MarkSize" :

  скаляр, определяющий размер маркера в пунктах ( `point`). Это свойство связано с объектным свойством `mark_size` с `mark_size_unit` ("единицы измерения размера маркера"), установленным в `"point"` (см свойства ломаной линии или свойства поверхностей).

"Visible" (видимость) :

  строковое значение `"on"` ("вкл.") или `"off"` ("откл."), определяющее режим видимости (по умолчанию включён, `"on"`). Это свойство связано с объектным свойством `visible` (см. свойства ломаной линии или свойства поверхностей).

"X data" :

  вектор или матрица вещественных значений, (пере)определяющих указанные данные для всех построенных линий или поверхностей. Касательно размеров, обратите внимание, что эти новые данные должны совпадать со в определёнными ранее данными `X`: иными словами, все эти матрицы данных должны быть одного размера. Это свойство связано с объектным свойством `data.x` (см. свойства ломаной линии или свойства поверхностей).

"Y data" :

  вектор или матрица вещественных значений, (пере)определяющих указанные данные для всех построенных линий или поверхностей. Касательно размеров, обратите внимание, что эти новые данные должны совпадать со в определёнными ранее данными `Y`: иными словами, все эти матрицы данных должны быть одного размера. Это свойство связано с объектным свойством `data.y` property (см. свойства ломаной линии или свойства поверхностей).

"Z data" :

  когда используется в `plot`, то это вещественный вектор или матрица, добавляющая данные `Z` ко всем построенным линиям; в `surf` это вещественная матрица, (пере)определяющая заданные данные для всех поверхностей. Касательно размеров, заметьте, что новые данные должны совпадать со всеми ранее определёнными данными `X` и `Y`. Это свойство связано с объектным свойством `data.z` (см. свойства ломаной линии или свойства поверхностей).

## Примеры

    // --------------------
    // С командой plot:
    // --------------------
    x=1:10; // Init.
    clf
    plot(x,sin(x),'colo','red','linest','-.','marker','>','markeredg','cyan','markerFace','yellow','markersize',5)

    clf
    // порядок комбинаций {ИмяСвойства,ЗначениеСвойства} не имеет значения
    plot(x,sin(x),'marker','p','markerfac','cyan','markersiz',10)

    clf
    // комбинация ВидаЛиний и ГлобальногоСвойства показывает преимущество Глобального свойства
    plot(x, x.*x, '*cya--', 'color','gr', 'linestyle','-', ..
         'marker','sq', 'markersize',6, 'markforegroun','red', 'markbackgro',[0.2 0.5 0.6])

    clf
    //множество графиков с различными ВидамиЛиний и, наконец, некоторые ГлобальныеСвойства
    t=0:%pi/20:2*%pi;
    plot(t,sin(t),'ro-.',t,cos(t),'cya+',t,abs(sin(t)),'--mo','markstyl','diam')

    // --------------------
    // С командой plot2d:
    // --------------------
    function draw_marks(title)
      a=gca();
      a.title.text=title;
      a.mark_size=8;
      a.data_bounds=[-1.5 1.5 -1.5 1.5];
      theta=(1/15)*(2*%pi)*[0:15];
      plot2d(cos(theta),sin(theta));
      for i=0:14 do
        theta=(i/15)*(2*%pi);
        plot2d(cos(theta),sin(theta),style=-i);
      end
    endfunction

    clf
    subplot(2,2,1)
    draw_marks("чёрный передний план/ белый задний план")

    subplot(2,2,2)
    a=gca();
    a.mark_foreground=-1;
    a.mark_background=4;
    draw_marks("чёрный передний план/ синезелёный задний план")

    subplot(2,2,3)
    a=gca();
    a.mark_background=0;
    draw_marks("чёрный передний план/ невидимый задний план")

    subplot(2,2,4)
    a=gca();
    a.mark_foreground=0;
    a.mark_background=4;
    draw_marks("невидимый передний план/ синезелёный задний план")

    // --------------------
    // С командой surf:
    // --------------------
    Z= [   0.0001    0.0013    0.0053   -0.0299   -0.1809   -0.2465   -0.1100   -0.0168   -0.0008   -0.0000
        0.0005    0.0089    0.0259   -0.3673   -1.8670   -2.4736   -1.0866   -0.1602   -0.0067    0.0000
        0.0004    0.0214    0.1739   -0.3147   -4.0919   -6.4101   -2.7589   -0.2779    0.0131    0.0020
       -0.0088   -0.0871    0.0364    1.8559    1.4995   -2.2171   -0.2729    0.8368    0.2016    0.0130
       -0.0308   -0.4313   -1.7334   -0.1148    3.0731    0.4444    2.6145    2.4410    0.4877    0.0301
       -0.0336   -0.4990   -2.3552   -2.1722    0.8856   -0.0531    2.6416    2.4064    0.4771    0.0294
       -0.0137   -0.1967   -0.8083    0.2289    3.3983    3.1955    2.4338    1.2129    0.2108    0.0125
       -0.0014   -0.0017    0.3189    2.7414    7.1622    7.1361    3.1242    0.6633    0.0674    0.0030
        0.0002    0.0104    0.1733    1.0852    2.6741    2.6725    1.1119    0.1973    0.0152    0.0005
        0.0000    0.0012    0.0183    0.1099    0.2684    0.2683    0.1107    0.0190    0.0014    0.0000];

    clf();
    f=gcf();
    f.figure_size = [610,724];

    subplot(211)
    surf(Z,'facecol','interp','ydat',101:110,'edgecol','mage')

    subplot(212)
    surf(Z,'edgeco','b','marker','d','markersiz',9,'markerfac','k','xdata',-50:-41)

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

- ВидЛиний
- plot
- surf
- clf
- свойства ломаной линии
- свойства поверхностей

## История

6.0.2 The "Foreground", "markForeground", and "markBackground" colors can now be specified as named colors chosen in the full predefined colors list, or by their "#RRGGBB" hexadecimal codes, or by their indices in the colormap.