TextScatter Properties

Управляйте текстовым внешним видом и поведением диаграммы поля точек

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

Текст

развернуть все

Текстовые метки, заданные как массив строк или массив ячеек из символьных векторов.

Пример: ["word1" "word2" "word3"]

Типы данных: string | cell

Процент текстовых данных, чтобы показать, заданный как скаляр от 0 до 100. Чтобы показать весь текст, установите TextDensityPercentage к 100. Чтобы не показать текст, установите TextDensityPercentage к 0.

Если вы устанавливаете TextDensityPercentage к 100, затем программное обеспечение не строит маркеры.

Пример: 70

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

Пример: 10

Стиль шрифта

развернуть все

Название шрифта, заданное как имя шрифта, чтобы использовать или 'FixedWidth'. Чтобы отобразить и распечатать правильно, название шрифта должно быть шрифтом, который поддерживает ваша система. Шрифт по умолчанию зависит от конкретной операционной системы и локали.

Чтобы использовать шрифт фиксированной ширины, который выглядит хорошим в любой локали, используйте 'FixedWidth'. 'FixedWidth' значение использует корневой FixedWidthFontName свойство. Установка корневого FixedWidthFontName свойство заставляет незамедлительное обновление отображения использовать новый шрифт.

Пример: 'Cambria'

Размер шрифта, заданный как скалярное значение, больше, чем нуль в модулях точки. Одна точка равняется 1/72 дюйм. Чтобы изменить модули шрифта, используйте FontUnits свойство.

Пример: 12

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Символьный наклон, заданный как 'normal' или 'italic'. Не все шрифты имеют оба стиля шрифта. Поэтому курсивный шрифт может выглядеть одинаково как обычный шрифт.

Толщина текстовых символов, заданных как одно из этих значений:

  • 'normal' — Вес по умолчанию, как задано конкретным шрифтом

  • 'bold' — Более толстые символьные основы, чем нормальный

MATLAB® использует FontWeight свойство выбрать шрифт от доступных в вашей системе. Не все шрифты имеют полужирное начертание шрифта. Поэтому установка жирного шрифта все еще привести к установке обычного шрифта.

Сглаженный внешний вид символа шрифта, заданный как одно из этих значений:

  • 'on' — Примените сглаживание шрифта. Уменьшайте внешний вид зубчатости в текстовых символах, чтобы сделать текст легче читать.

  • 'off' — Не применяйте сглаживание шрифта.

Текстовое поле

развернуть все

Цвет схемы поля, заданной как 'none', трехэлементный триплет RGB или вектор символов названия цвета. Цвет обводки по умолчанию 'none' делает схему поля невидимой.

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F. Значения не являются чувствительными к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: 'blue'

Пример: [0 0 1]

Цвет фона текстового поля, заданного как одно из этих значений:

  • 'none'— Сделайте фон текстового поля прозрачным.

  • 'data'— Используйте цвет фона, заданный ColorData. Программное обеспечение автоматически выбирает передний план, чтобы дополнить цвет фона.

  • Триплет RGB — Использование тот же цвет для всех маркеров в графике. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.5 0.6 0.7].

Пример: [1 0 0]

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

MATLAB использует Extent значение свойства плюс Margin значение свойства, чтобы определить размер текстового поля.

Пример 8

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Маркеры

развернуть все

Цвета маркера, заданные как одно из этих значений:

  • 'auto' — Для каждого маркера используйте тот же цвет в качестве соответствующих текстовых меток.

  • 'none' — Не показывайте маркеры.

  • Триплет RGB — Использование тот же цвет для всех маркеров в графике. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.5 0.6 0.7].

Пример: [1 0 0]

Размер маркера, заданный как положительная скалярная величина.

Пример: 10

Данные

развернуть все

x значения, заданные как скаляр или вектор. Текстовый график рассеивания отображает отдельный маркер для каждого значения в XData.

Входной параметр X к textscatter и textscatter3 функции устанавливают x значения. XData и YData должен иметь равные длины.

Пример: [1 2 4 2 6]

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

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

По умолчанию связанная переменная отсутствует, поэтому значение представляет собой пустой вектор символов, ''. Если вы соединяете переменную, то MATLAB не обновляет XData значения сразу. Чтобы обеспечить обновление значений данных, используйте refreshdata функция.

Примечание

Если вы измените одно свойство источника данных на переменную, содержащую данные другого измерения, вы можете сделать так, что функция сгенерирует предупреждение и не отобразит график до тех пор, пока вы не измените все свойства источника данных на соответствующие значения.

Пример: 'x'

y значения, заданные как скаляр или вектор. Текстовый график рассеивания отображает отдельный маркер для каждого значения в YData.

Входной параметр Y к textscatter и textscatter3 функции устанавливают y значения. XData и YData должен иметь равные длины.

Пример: [1 3 3 4 6]

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

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

По умолчанию связанная переменная отсутствует, поэтому значение представляет собой пустой вектор символов, ''. Если вы соединяете переменную, то MATLAB не обновляет YData значения сразу. Чтобы обеспечить обновление значений данных, используйте refreshdata функция.

Примечание

Если вы измените одно свойство источника данных на переменную, содержащую данные другого измерения, вы можете сделать так, что функция сгенерирует предупреждение и не отобразит график до тех пор, пока вы не измените все свойства источника данных на соответствующие значения.

Пример: 'y'

z значения, заданные как скаляр или вектор.

  • Для 2D графиков рассеивания, ZData пусто по умолчанию.

  • Для 3-D точечных графиков, входной параметр Z к scatter3 функция устанавливает z значения. XData, YData, и ZData должен иметь равные длины.

Пример: [1 2 2 1 0]

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

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

По умолчанию связанная переменная отсутствует, поэтому значение представляет собой пустой вектор символов, ''. Если вы соединяете переменную, то MATLAB не обновляет ZData значения сразу. Чтобы обеспечить обновление значений данных, используйте refreshdata функция.

Примечание

Если вы измените одно свойство источника данных на переменную, содержащую данные другого измерения, вы можете сделать так, что функция сгенерирует предупреждение и не отобразит график до тех пор, пока вы не измените все свойства источника данных на соответствующие значения.

Пример: 'z'

Цвета текста, заданные как одно из этих значений:

  • Триплет RGB — Использование тот же цвет для всего текста в графике. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.5 0.6 0.7].

  • Матрица с тремя столбцами триплетов RGB — Использование различный цвет для каждой текстовой метки в графике. Каждая строка матрицы задает один цвет. Количество строк должно равняться количеству текстовых меток.

  • Категориальный вектор — Использование различный цвет для каждой категории в векторе. Задайте ColorData как вектор та же длина как XData. Задайте цвета для каждой категории с помощью Colors свойство

Пример: [1 0 0; 0 1 0; 0 0 1]

Цвета категории, заданные как матрица триплетов RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.5 0.6 0.7].

По умолчанию, Colors равно ColorOrder свойство объекта осей.

Пример: [1 0 0; 0 1 0; 0 0 1]

Видимость

развернуть все

Состояние видимости, заданное в качестве одного из следующих значений:

  • 'on' — Отобразите объект.

  • 'off' — Скройте объект, не удаляя его. Вы по-прежнему можете получать доступ к свойствам невидимого объекта.

Идентификаторы

развернуть все

Это свойство доступно только для чтения.

Тип графического объекта, возвращенного как 'textscatter'. Используйте это свойство найти все объекты данного типа в иерархии графического вывода; например, ища тип с помощью findobj.

Это свойство доступно только для чтения.

Заданный пользователями тег, чтобы сопоставить с объектом, заданным как вектор символов. Теги обеспечивают способ идентифицировать графические объекты. Используйте это свойство найти все объекты с определенным тегом в иерархии графического вывода; например, ища тег с помощью findobj.

Пример: 'January Data'

Это свойство доступно только для чтения.

Данные для связи с объектом, заданные как любые данные MATLAB, например, скаляр, вектор, матрица, массив ячеек, массив символов, таблица или структура. MATLAB не использует эти данные.

Чтобы сопоставить несколько наборов данных или присоединить имя поля к данным, используйте getappdata и setappdata функции.

Пример: 1:100

Это свойство доступно только для чтения.

Текст используется в метке легенды, заданной как вектор символов. Если вы не задаете текст, то легенда использует метку формы 'dataN'. Легенда не отображается, пока вы не вызываете legend команда.

Пример: 'Label Text'

Управляйте для включения или, исключая объект от легенды, возвращенной как Annotation объект. Установите базовый IconDisplayStyle свойство к одному из этих значений:

  • 'on' — Включайте объект в легенду (значение по умолчанию).

  • 'off' — Не включайте объект в легенду.

Например, исключить из легенды сводную диаграмму.

p = plot(1:10,'DisplayName','Line Chart');
hold on
s = stem(1:10,'DisplayName','Stem Chart');
hold off
s.Annotation.LegendInformation.IconDisplayStyle = 'off';
legend('show')

В качестве альтернативы можно управлять элементами в легенде с помощью legend функция. Укажите первый входной аргумент в качестве вектора включаемых графических объектов.

p = plot(1:10,'DisplayName','Line Chart');
hold on
s = stem(1:10,'DisplayName','Stem Chart');
hold off
legend(p)

Родительский элемент/Дочерний элемент

развернуть все

Родительский элемент, заданный как Axespolaraxes, Group, или Transform объект.

Дочерние элементы, возвращенные как пустой GraphicsPlaceholder массив или DataTip objectArray. Используйте это свойство просмотреть список всплывающих подсказок, которые построены на графике.

Вы не можете добавить или удалить дочерние элементы, использующие Children свойство. Чтобы добавить дочерний элемент в этот список, установите Parent свойство DataTip возразите против объекта диаграммы.

Видимость указателя на объект в Children свойство родительского элемента, заданного как одно из этих значений:

  • 'on' — Указатель на объект всегда отображается.

  • 'off' — Указатель на объект невидим в любом случае. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите HandleVisibility к 'off' временно скрыть указатель во время выполнения этой функции.

  • 'callback' — Указатель на объект отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему.

Если объект не перечислен в Children свойство родительского элемента, затем функционирует, которые получают указатели на объект путем поиска иерархии объектов, или запрос свойств указателя не может возвратить его. Это включает getfindobjgcagcfgconewplotclaclf, и close.

Скрытые указатели на объекты все еще действительны. Установите корневой ShowHiddenHandles свойство к 'on' перечислять все указатели на объект независимо от их HandleVisibility установка свойства.

Интерактивное управление

развернуть все

Обратный вызов по клику мыши, заданный как одно из следующих значений:

  • Указатель на функцию

  • Массив ячейки, содержащий указатель на функцию и дополнительные аргументы

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для выполнения кода при клике по объекту. Если вы задаете это свойство с помощью указателя на функцию, то MATLAB передает два аргумента функции обратного вызова при выполнении обратного вызова:

  • Объект, активированный кликом мыши — Вы можете получить доступ к свойствам объекта, активированного кликом мыши, из функции обратного вызова.

  • Данные события — Этот аргумент пуст для этого свойства. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

Для получения дополнительной информации о том, как использовать указатели на функцию, чтобы задать функции обратного вызова, видеть Определение Коллбэка (MATLAB).

Примечание

Если PickableParts свойство установлено в 'none' или если HitTest свойство установлено в 'off', затем этот коллбэк не выполняется.

Пример: @myCallback

Пример: {@myCallback,arg3}

Контекстное меню, заданное как uicontextmenu объект. Используйте это свойство для отображения контекстного меню при щелчке правой кнопкой мыши по объекту. Создайте контекстное меню с помощью uicontextmenu функция.

Примечание

Если PickableParts свойство установлено в 'none' или если HitTest свойство установлено в 'off', затем контекстное меню не появляется.

Состояние выбора, заданное как одно из следующих значений:

  • 'on' — Выбранный. Если вы кликаете по объекту, когда в режиме редактирования графика, то MATLAB устанавливает свой Selected свойство к 'on'. Если SelectionHighlight свойство также установлено в 'on', затем MATLAB отображает маркеры выделения вокруг объекта.

  • 'off' — Не выбранный.

Отображение маркеров выделения, заданное как одно из следующих значений:

  • 'on' — Отобразите маркеры выделения когда Selected свойство установлено в 'on'.

  • 'off' — Никогда не отображайте маркеры выделения, даже когда Selected свойство установлено в 'on'.

Содержимое всплывающей подсказки, заданное как DataTipTemplate объект. Можно управлять содержимым, которое появляется во всплывающей подсказке путем изменения свойств базового DataTipTemplate объект. Для списка свойств смотрите DataTipTemplate Properties.

Для примера изменения всплывающих подсказок смотрите, Создают Пользовательские всплывающие подсказки (MATLAB).

Примечание

DataTipTemplate объект не возвращен findobj или findall, и это не копируется copyobj.

Контроль выполнения обратного вызова

развернуть все

Возможность осуществить захват кликов мыши, заданная как одно из следующих значений:

  • 'visible' — Может захватить клики мыши, когда видимый. Visible свойство должно быть установлено в 'on' и необходимо кликнуть по части TextScatter объект, который имеет заданный цвет. Вы не можете кликнуть элемент, у которого значение связанного свойства цвета установлено на 'none'. Если график содержит маркеры, то целый маркер активируем кликом мыши, если или ребро или заливка имеют заданный цвет. HitTest свойство определяет если TextScatter объект отвечает на нажатие кнопки или если предок делает.

  • 'none' — Не может захватить клики мыши. Нажатие на TextScatter возразите передает нажатие кнопки объекту ниже его в текущем представлении окна рисунка. HitTest свойство TextScatter объект не оказывает влияния.

Ответ на захваченные клики мыши, заданный как одно из следующих значений:

  • 'on' — Инициируйте ButtonDownFcn коллбэк TextScatter объект. Если вы задали UIContextMenu свойство, затем вызовите контекстное меню.

  • 'off' — Инициируйте коллбэки для самого близкого предка TextScatter объект, который имеет HitTest набор свойств к 'on' и PickableParts значение свойства, которое позволяет предку захватить клики мыши.

Примечание

PickableParts свойство определяет если TextScatter объект может захватить клики мыши. Если это не может, то HitTest свойство не оказывает влияния.

Прерывание коллбэка, заданное как 'on' или 'off'. Interruptible свойство определяет, может ли рабочий коллбэк быть прерван.

Примечание

Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Interruptible свойство объекта, владеющего рабочим коллбэком, определяет, позволено ли прерывание. Если прерывание не позволено, то BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь.

Если ButtonDownFcn коллбэк TextScatter объект является рабочим коллбэком, затем Interruptible свойство определяет, может ли оно другой коллбэк прервать его:

  • 'on' — Прерываемый. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnowфигураgetframewaitfor, или pause команда.

    • Если текущий обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания. Для получения дополнительной информации смотрите Выполнение обратного вызова Прерывания (MATLAB).

    • Если текущий обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.

  • 'off' — Не прерываемый. MATLAB завершает выполнение обратного вызова без каких-либо прерываний.

Постановка в очередь коллбэка, заданная как 'queue' или 'cancel'. BusyAction свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова.

Примечание

Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Interruptible свойство объекта, владеющего рабочим коллбэком, определяет, позволено ли прерывание. Если прерывание не позволено, то BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь.

Если ButtonDownFcn коллбэк TextScatter возразите пытается прервать рабочий коллбэк, который не может быть прерван, затем BusyAction свойство определяет, отбрасывается ли оно или вставило очередь. Задайте BusyAction свойство как одно из этих значений:

  • 'queue' — Поместите прерывание обратного вызова в очередь, чтобы быть обработанными после рабочего выполнения концов коллбэка. Это поведение по умолчанию.

  • 'cancel' — Отбросьте прерывание обратного вызова.

Управление созданием и удалением

развернуть все

Создание обратного вызова, заданное как одно из следующих значений:

  • Указатель на функцию

  • Массив ячейки, содержащий указатель на функцию и дополнительные аргументы

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для выполнения кода при создании объекта. Установка CreateFcn свойство на существующем объекте не оказывает влияния. Необходимо задать значение по умолчанию для этого свойства или задать это свойство с помощью Name,Value пара во время создания объекта. MATLAB выполняет обратный вызов после создания объекта и настройки всех его свойств.

Если вы задаете данный обратный вызов с помощью указателя на функцию, MATLAB передает два аргумента в функцию обратного вызова при выполнении обратного вызова:

  • Созданный объект — Вы можете получить доступ к свойствам объекта из функции обратного вызова. Также можно получить доступ к объекту через CallbackObject свойство корня, который может быть запрошен с помощью gcbo функция.

  • Данные события — Этот аргумент пуст для этого свойства. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

Для получения дополнительной информации о том, как использовать указатели на функцию, чтобы задать функции обратного вызова, видеть Определение Коллбэка (MATLAB).

Пример: @myCallback

Пример: {@myCallback,arg3}

Удаление обратного вызова, заданное как одно из следующих значений:

  • Указатель на функцию

  • Массив ячейки, содержащий указатель на функцию и дополнительные аргументы

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для выполнения кода при удалении объекта. MATLAB выполняет обратный вызов перед уничтожением объекта, чтобы обратный вызов мог получить доступ к значениям его свойств.

Если вы задаете данный обратный вызов с помощью указателя на функцию, MATLAB передает два аргумента в функцию обратного вызова при выполнении обратного вызова:

  • Удаленный объект — Вы можете получить доступ к свойствам объекта из функции обратного вызова. Также можно получить доступ к объекту через CallbackObject свойство корня, который может быть запрошен с помощью gcbo функция.

  • Данные события — Этот аргумент пуст для этого свойства. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

Для получения дополнительной информации о том, как использовать указатели на функцию, чтобы задать функции обратного вызова, видеть Определение Коллбэка (MATLAB).

Пример: @myCallback

Пример: {@myCallback,arg3}

Состояние Deletion, возвращенное как 'off' или 'on'. MATLAB устанавливает BeingDeleted свойство к 'on' когда удалить функция объекта начнет выполнение (см. DeleteFcn свойство. BeingDeleted свойство остается установленным в 'on' пока объект больше не существует.

Проверяйте значение BeingDeleted свойство проверить, что объект не собирается быть удаленным прежде, чем запросить или изменить его.

Введенный в R2017b

Для просмотра документации необходимо авторизоваться на сайте