linkdata

Автоматическое обновление данных на графике

Описание

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

Связать графики и переменные рабочей области с помощью linkdata функцию или путем выбора на панели инструментов рисунка.

Создание

Описание

пример

linkdata on включает режим связывания данных для текущей системы координат.

linkdata off отключает режим связывания данных.

linkdata переключение режима связывания данных между 'on' и 'off'.

пример

linkdata showdialog открывает диалоговое окно Linked Plot Data Sources. Используйте этот синтаксис для интерактивной синхронизации графика с переменными рабочей области.

linkdata(fig,___) задает режим связывания данных для заданного рисунка. Используйте одинарные или двойные кавычки вокруг опций 'on' и 'off'. Для примера, linkdata(fig,'on').

l = linkdata создает LinkData объект. Этот синтаксис полезен для запроса режима связывания данных.

l = linkdata(fig) создает LinkData объект для заданного рисунка.

Входные параметры

расширить все

Целевой рисунок, заданная как Figure объект. Если вы не задаете рисунок, то связывание данных включено или отключено для текущей фигуры.

Свойства

расширить все

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

Режим связывания данных, заданный как 'off' или 'on'.

Примеры

свернуть все

Создайте столбчатую диаграмму и включите связывание данных. Связывание данных синхронизирует столбчатую диаграмму с x и y переменные в рабочей области.

x = linspace(-5,5,11);
y = abs(x);
bar(x,y)
linkdata on

Bar chart. The bar at x = 0 has a height of 0.

Измените одно из значений в y. Обратите внимание, что столбчатая диаграмма немедленно обновляется, отражая изменение.

y(6) = 4;

Updated bar chart. The bar at x = 0 has a height of 4.

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

Создайте некоторые данные для построения графика. Обратите внимание, что x и y содержат 21 значение.

x = linspace(-5,5,21);
y = -abs(x);

lengthX = length(x)
lengthY = length(y)
lengthX =

    21


lengthY =

    21

Постройте график данных, затем включите связывание данных и окрашивание.

scatter(x,y,'filled')
linkdata on
brush on

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

Scatter plot with seven brushed data values

График связан с его источниками данных, поэтому удаление значений из диаграммы также удаляет их из источников данных. Обратите внимание, что x и y теперь содержат только 14 значений данных.

lengthX = length(x)
lengthY = length(y)
lengthX =

    14


lengthY =

    14

Используйте связывание данных с комплексными числами. При построении комплексных данных действительная и мнимая части данных не соответствуют разным переменным рабочей области. В результате, linkdata функция не может идентифицировать источники данных для осей x - и y -. Чтобы связать комплексные данные, необходимо вручную задать вещественную часть комплексных данных как x -компонент и воображаемую часть как y -компонент.

Сначала создайте матрицу комплексных данных значений и постройте их график. Затем откройте диалоговое окно Linked Plot Data Sources, позвонив linkdata showdialog.

z = eig(randn(20,20));
plot(z)
linkdata showdialog

Line plot

Вручную задайте действительную и мнимую части данных путем ввода real(z) и imag(z) в текстовых полях под X и Y.

Linked plot data sources dialog box

Теперь график связан с его источниками данных. Если вы меняете z, затем график обновится, чтобы отразить новые данные.

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

z = eig(randn(20,20));
plot(z,'XDataSource','real(z)','YDataSource','imag(z)')
linkdata on

Совет

  • Если linkdata не может однозначно идентифицировать источники данных для графика, тогда график не будет синхронизироваться с переменными рабочей области. Если вы звоните linkdata и ваш график не обновляется, когда вы меняете переменную, затем открывайте диалоговое окно Linked Plot Data Sources, вызывая linkdata showdialog и вручную связать график с ее источниками данных.

  • linkdata функция обновляет связанные источники данных и графики два раза в секунду. Чтобы плавно анимировать изменения значений данных, создайте циклы, которые выполняются два раза в секунду или меньше. Для получения дополнительной информации смотрите pause функция.

  • Когда график синхронизируется с его переменными рабочей области, программные изменения свойств данных диаграммы (для примера, XData) не обновлять переменные рабочей области. Переменные рабочей области обновляются только когда вы изменяете построенные данные в интерактивном режиме, используя инструмент кисти.

Алгоритмы

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

Введенный в R2008a