Приложение GUIDE, содержащее таблицы и графики

Этот пример показывает, как исследовать и запустить предварительно созданное приложение GUIDE. Приложение содержит две таблицы, две оси и всплывающее меню. Большая таблица на левых отображениях 288 записей данных солнечного пятна. Главные оси отображают график всех 288 записей. Когда вы выбираете 11 или больше элементов из таблицы слева, график выбранных записей отображается в нижних осях. Таблица в правом нижнем углу показывает статистические сводные данные данных солнечного пятна. Всплывающее меню наверху окна позволяет вам переключиться между графиками во время и частотные диапазоны.

Открытие и запуск примера

Открытый и выполнение приложение. Выберите 11 или больше строк в таблице Data Set, чтобы видеть график тех точек на подстилающем слое осей. Когда вы изменяете свой выбор, числа во втором столбце обновления таблицы Data Statistics.

Исследование кода

  1. В GUIDE нажмите кнопку Editor, чтобы просмотреть код.

  2. Около верхней части окна Editor используйте кнопку Go To, чтобы перейти к функциям, обсужденным ниже.

plot_type_Callback

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

index = get(hObject,'Value'); 
strlist = get(hObject,'String');
set(handles.uipanel3,'Title',strlist(index))

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

table = get(handles.data_table,'Data'); 
refreshDisplays(table, handles, 1);

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

selection = handles.currSelection;
if length(selection) > 10
    refreshDisplays(table(selection,:), handles, 2)
else
    % Do nothing; insufficient observations for statistics
end

data_table_CellSelectionCallback

Функция data_table_CellSelectionCallback выполняется, когда пользователь выбирает любую из ячеек в большей таблице слева. Эта команда получает в настоящее время выбранные записи в таблице:

selection = eventdata.Indices(:,1);

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

handles.currSelection = selection;
guidata(hObject,handles);

Наконец, refreshDisplays обновляет нижний график и статистическую сводную таблицу.

refreshDisplays(table(selection,:),handles,2);

Похожие темы

Была ли эта тема полезной?